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/*
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Get latest Composer
|
# 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 application files
|
||||||
COPY --chown=www-data:www-data . /var/www
|
COPY --chown=www-data:www-data . /var/www
|
||||||
|
|||||||
16
Makefile
16
Makefile
@@ -5,7 +5,17 @@ build:
|
|||||||
|
|
||||||
deploy: build
|
deploy: build
|
||||||
@if [ ! -f .env ]; then cp .env.example .env; fi
|
@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 -
|
@echo "Cleaning up existing deployment if any..."
|
||||||
kubectl apply -f k8s/deployment.yaml
|
-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:
|
labels:
|
||||||
app: mkm-admin
|
app: mkm-admin
|
||||||
spec:
|
spec:
|
||||||
replicas: 3
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
app: mkm-admin
|
app: mkm-admin
|
||||||
@@ -16,13 +16,13 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: mkm-admin
|
- name: mkm-admin
|
||||||
image: mkm-admin:latest
|
image: localhost/mkm-admin:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Never
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8000
|
- containerPort: 8000
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- configMapRef:
|
||||||
name: mkm-admin-env
|
name: mkm-admin-config
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: "100m"
|
cpu: "100m"
|
||||||
@@ -52,12 +52,12 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: worker
|
- name: worker
|
||||||
image: mkm-admin:latest
|
image: localhost/mkm-admin:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Never
|
||||||
command: ["php", "artisan", "horizon"]
|
command: ["php", "artisan", "horizon"]
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- configMapRef:
|
||||||
name: mkm-admin-env
|
name: mkm-admin-config
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: "100m"
|
cpu: "100m"
|
||||||
|
|||||||
Reference in New Issue
Block a user