# Переменные для путей к утилитам
KIND_PATH = /home/tactile/.kind-d8/kind
KUBECTL_PATH = /home/tactile/.kind-d8/kubectl

.PHONY: help build-backend build-backend-dotnet build-frontend build-all load-images deploy undeploy clean

help:
	@echo "Доступные команды:"
	@echo "  make build-backend    - Собрать Docker образ Python бэкенда"
	@echo "  make build-backend-dotnet - Собрать Docker образ .NET бэкенда"
	@echo "  make build-frontend   - Собрать Docker образ фронтенда"
	@echo "  make build-all        - Собрать все Docker образы"
	@echo "  make load-images      - Загрузить образы в kind кластер"
	@echo "  make deploy           - Развернуть приложение в k8s"
	@echo "  make undeploy         - Удалить приложение из k8s"
	@echo "  make clean            - Очистить все ресурсы"

build-backend:
	@echo "Сборка Python backend образа..."
	docker build -t python-navigator-demo-backend:latest ./backend

build-backend-dotnet:
	@echo "Сборка .NET backend образа..."
	docker build -t python-navigator-demo-backend-dotnet:latest ./backend-dotnet

build-frontend:
	@echo "Сборка frontend образа..."
	docker build -t python-navigator-demo-frontend:latest ./frontend

build-all: build-backend build-backend-dotnet build-frontend
	@echo "Все образы собраны успешно!"

load-images:
	@echo "Загрузка образов в kind кластер..."
	$(KIND_PATH) load docker-image python-navigator-demo-backend:latest --name d8
	$(KIND_PATH) load docker-image python-navigator-demo-backend-dotnet:latest --name d8
	$(KIND_PATH) load docker-image python-navigator-demo-frontend:latest --name d8
	@echo "Образы загружены в kind кластер!"

deploy:
	@echo "Развертывание приложения в Kubernetes..."
	$(KUBECTL_PATH) apply -k k8s/
	@echo "Приложение развернуто!"
	@echo "Доступно по адресу: https://python-navigator-demo.127.0.0.1.sslip.io"

undeploy:
	@echo "Удаление приложения из Kubernetes..."
	$(KUBECTL_PATH) delete -k k8s/
	@echo "Приложение удалено!"

clean: undeploy
	@echo "Очистка Docker образов..."
	docker rmi python-navigator-demo-backend:latest python-navigator-demo-backend-dotnet:latest python-navigator-demo-frontend:latest || true
	@echo "Очистка завершена!"

