IMG := mkm-admin

build:
	podman build -t $(IMG) .

# Server configuration (Change these to your actual server details)
SERVER_USER := ubuntu
SERVER_IP := 192.168.100.200
SERVER_PATH := /var/www/MKM

deploy: build
	@echo "Cleaning up existing deployment if any..."
	-podman kube down k8s/deployment.yaml >/dev/null 2>&1
	@echo "Generating merged deployment with ConfigMap..."
	@sudo kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > /tmp/merged_deployment.yaml
	@echo "---" >> /tmp/merged_deployment.yaml
	@cat k8s/deployment.yaml >> /tmp/merged_deployment.yaml
	@echo "Deploying via podman kube play..."
	podman kube play /tmp/merged_deployment.yaml
	@rm /tmp/merged_deployment.yaml

deploy-server:
	@echo "Deploying to remote server $(SERVER_IP)..."
	@# Generate temporary merged YAML for server in /tmp to avoid WSL permissions
	@sudo kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml > /tmp/server_deploy.yaml
	@echo "---" >> /tmp/server_deploy.yaml
	@cat k8s/deployment.yaml >> /tmp/server_deploy.yaml
	@# Single SCP/SSH call to reduce password prompts
	scp /tmp/server_deploy.yaml $(SERVER_USER)@$(SERVER_IP):/tmp/server_deploy.yaml
	ssh $(SERVER_USER)@$(SERVER_IP) "sudo kubectl apply -f /tmp/server_deploy.yaml && rm /tmp/server_deploy.yaml"
	@rm /tmp/server_deploy.yaml

stop:
	-podman kube down k8s/deployment.yaml >/dev/null 2>&1

.PHONY: build deploy deploy-server stop
