IMG := mkm-admin

build:
	podman build -t $(IMG) .

# Server configuration (Change these to your actual server details)
SERVER_USER := user
SERVER_IP := 192.168.100.105
SERVER_PATH := /var/www/mkm-admin

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

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

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

.PHONY: build deploy deploy-server stop
