REGISTRY ?= registry.haumdaucher.de
FRONTEND_IMAGE ?= $(REGISTRY)/website/grabengasse_frontend:latest
BACKEND_IMAGE ?= $(REGISTRY)/website/grabengasse_backend:latest
NAMESPACE ?= grabengasse

.PHONY: all compile dev build push deploy rollout build-frontend build-backend push-frontend push-backend

all: compile build push deploy

compile:
	cd frontend && npm run build

dev-frontend:
	cd frontend && npm run dev

dev-backend:
	cd backend && uvicorn main:app --reload

build: build-frontend build-backend

build-frontend:
	cd frontend && docker build --platform linux/amd64 -t $(FRONTEND_IMAGE) .

build-backend:
	cd backend && docker build --platform linux/amd64 -t $(BACKEND_IMAGE) .

push: push-frontend push-backend

push-frontend:
	docker push $(FRONTEND_IMAGE)

push-backend:
	docker push $(BACKEND_IMAGE)

deploy:
	kubectl apply -f ../../k8s/grabengasse/backend.yaml -f ../../k8s/grabengasse/frontend.yaml -f ../../k8s/grabengasse/ingress.yaml
	$(MAKE) rollout

rollout:
	kubectl rollout restart deployment/grabengasse-frontend -n $(NAMESPACE)
	kubectl rollout restart deployment/grabengasse-backend -n $(NAMESPACE)
	kubectl rollout status deployment/grabengasse-frontend -n $(NAMESPACE)
	kubectl rollout status deployment/grabengasse-backend -n $(NAMESPACE)
