The deploy-server target was failing due to insufficient permissions on the remote server. Adding sudo ensures kubectl can apply the deployment configuration.
37 lines
1.4 KiB
Makefile
37 lines
1.4 KiB
Makefile
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..."
|
|
@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
|
|
@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
|