SHELL := /usr/bin/env bash .DEFAULT_GOAL := help GITEA_RELEASE ?= gitea GITEA_NAMESPACE ?= default GITEA_CHART ?= gitea-charts/gitea GITEA_VALUES ?= helm/gitea-values.sops.yaml GITEA_REGISTRY_VALUES ?= helm/gitea-registry-values.yaml GITEA_INGRESS ?= manifests/gitea-ingress.yaml VERGABE_RELEASE ?= vergabe-teilnahme VERGABE_NAMESPACE ?= vergabe-teilnahme VERGABE_CHART ?= charts/vergabe-teilnahme VERGABE_VALUES ?= helm/vergabe-teilnahme-values.yaml VERGABE_INGRESS ?= manifests/vergabe-teilnahme-ingress.yaml ##@ Gitea gitea-deploy: ## Deploy / upgrade Gitea (S5 workload) helm upgrade --install $(GITEA_RELEASE) $(GITEA_CHART) \ -f <(sops -d $(GITEA_VALUES)) \ -f $(GITEA_REGISTRY_VALUES) \ --namespace $(GITEA_NAMESPACE) --create-namespace gitea-ingress-deploy: ## Apply the Gitea OCI registry ingress kubectl apply -f $(GITEA_INGRESS) gitea-status: ## Check Gitea health kubectl get pods -n $(GITEA_NAMESPACE) -l app.kubernetes.io/instance=$(GITEA_RELEASE) kubectl get svc -n $(GITEA_NAMESPACE) $(GITEA_RELEASE) kubectl get ingress -n $(GITEA_NAMESPACE) $(GITEA_RELEASE) --ignore-not-found kubectl cnpg status gitea-db -n databases ##@ Vergabe Teilnahme vergabe-dry-run: ## helm template render (no apply) for inspection helm template $(VERGABE_RELEASE) $(VERGABE_CHART) \ --namespace $(VERGABE_NAMESPACE) \ -f $(VERGABE_VALUES) vergabe-deploy: ## Deploy / upgrade vergabe-teilnahme Helm release helm upgrade --install $(VERGABE_RELEASE) $(VERGABE_CHART) \ --namespace $(VERGABE_NAMESPACE) --create-namespace \ -f $(VERGABE_VALUES) --wait --timeout 3m vergabe-ingress-deploy: ## Apply the vergabe-teilnahme ingress (whywhynot.de) kubectl apply -f $(VERGABE_INGRESS) vergabe-status: ## Show vergabe-teilnahme pod / svc / ingress / cert state kubectl get pods,svc,ingress,certificate -n $(VERGABE_NAMESPACE) -l app.kubernetes.io/instance=$(VERGABE_RELEASE) --ignore-not-found vergabe-migrate: ## Run Django migrations against the live deployment kubectl exec -n $(VERGABE_NAMESPACE) deploy/$(VERGABE_RELEASE) -- python manage.py migrate --noinput vergabe-seed: ## Run the idempotent seed command kubectl exec -n $(VERGABE_NAMESPACE) deploy/$(VERGABE_RELEASE) -- python manage.py seed_dev vergabe-superuser: ## Open an interactive shell for createsuperuser kubectl exec -it -n $(VERGABE_NAMESPACE) deploy/$(VERGABE_RELEASE) -- python manage.py createsuperuser vergabe-logs: ## Tail vergabe-teilnahme app logs kubectl logs -n $(VERGABE_NAMESPACE) -l app.kubernetes.io/instance=$(VERGABE_RELEASE) -f --tail=50 ##@ Help help: ## Show this help @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} \ /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } \ /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) }' $(MAKEFILE_LIST) .PHONY: gitea-deploy gitea-ingress-deploy gitea-status vergabe-dry-run vergabe-deploy vergabe-ingress-deploy vergabe-status vergabe-migrate vergabe-seed vergabe-superuser vergabe-logs help