ci: switch from Kubernetes to Podman for local deployment
- Update Dockerfile to use fully qualified composer image name - Replace kubectl commands with podman kube play/down in Makefile - Change from Kubernetes Secret to ConfigMap for environment variables - Set imagePullPolicy to Never and use localhost/ prefix for local images - Reduce replica count to 1 for local development - Add stop target to Makefile for easier cleanup
This commit is contained in:
@@ -25,7 +25,7 @@ RUN chmod +x /usr/local/bin/install-php-extensions && \
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Get latest Composer
|
||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||||
COPY --from=docker.io/library/composer:latest /usr/bin/composer /usr/bin/composer
|
||||
|
||||
# Copy application files
|
||||
COPY --chown=www-data:www-data . /var/www
|
||||
|
||||
16
Makefile
16
Makefile
@@ -5,7 +5,17 @@ build:
|
||||
|
||||
deploy: build
|
||||
@if [ ! -f .env ]; then cp .env.example .env; fi
|
||||
kubectl create secret generic mkm-admin-env --from-env-file=.env --dry-run=client -o yaml | kubectl apply -f -
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
@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 > 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
|
||||
|
||||
.PHONY: build deploy
|
||||
stop:
|
||||
-podman kube down k8s/deployment.yaml >/dev/null 2>&1
|
||||
|
||||
.PHONY: build deploy stop
|
||||
|
||||
@@ -5,7 +5,7 @@ metadata:
|
||||
labels:
|
||||
app: mkm-admin
|
||||
spec:
|
||||
replicas: 3
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mkm-admin
|
||||
@@ -16,13 +16,13 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: mkm-admin
|
||||
image: mkm-admin:latest
|
||||
imagePullPolicy: Always
|
||||
image: localhost/mkm-admin:latest
|
||||
imagePullPolicy: Never
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: mkm-admin-env
|
||||
- configMapRef:
|
||||
name: mkm-admin-config
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
@@ -52,12 +52,12 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: worker
|
||||
image: mkm-admin:latest
|
||||
imagePullPolicy: Always
|
||||
image: localhost/mkm-admin:latest
|
||||
imagePullPolicy: Never
|
||||
command: ["php", "artisan", "horizon"]
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: mkm-admin-env
|
||||
- configMapRef:
|
||||
name: mkm-admin-config
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
|
||||
Reference in New Issue
Block a user