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)..."
	ssh $(SERVER_USER)@$(SERVER_IP) "mkdir -p $(SERVER_PATH)/k8s"
	scp .env $(SERVER_USER)@$(SERVER_IP):$(SERVER_PATH)/.env
	scp k8s/deployment.yaml $(SERVER_USER)@$(SERVER_IP):$(SERVER_PATH)/k8s/deployment.yaml
	ssh $(SERVER_USER)@$(SERVER_IP) "cd $(SERVER_PATH) && \
		kubectl create configmap mkm-admin-config --from-env-file=.env --dry-run=client -o yaml | kubectl apply -f - && \
		kubectl apply -f k8s/deployment.yaml"

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

.PHONY: build deploy deploy-server stop
