SHELL := /usr/bin/env bash
.DEFAULT_GOAL := test

test: ## Run unit tests
	python3 -m pytest -q

image-build: ## Build the production image locally
	docker build -f Containerfile -t approval-engine:local .

deploy-dry-run: ## Validate Kubernetes manifests without applying them
	kubectl apply --dry-run=client -f deploy/approval-engine.yaml -f deploy/networkpolicies.yaml

help: ## Show this help
	@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m<target>\033[0m\n"} \
	  /^[a-zA-Z_-]+:.*?##/ { printf "  \033[36m%-24s\033[0m %s\n", $$1, $$2 }' $(MAKEFILE_LIST)

.PHONY: test image-build deploy-dry-run help
