Files
manoon-headless/k8s/deployment.yaml

79 lines
1.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: storefront
namespace: manoonoils
labels:
app: storefront
spec:
replicas: 1
selector:
matchLabels:
app: storefront
template:
metadata:
labels:
app: storefront
spec:
initContainers:
- name: git-clone
image: alpine/git
command:
- sh
- -c
- |
mkdir -p /root/.ssh
ssh-keyscan -p 222 -t rsa 100.74.155.73 > /root/.ssh/known_hosts 2>/dev/null || true
GIT_SSH_COMMAND="ssh -p 222 -o StrictHostKeyChecking=accept-new" git clone ssh://git@100.74.155.73:222/unchained/manoon-headless.git /app-src
volumeMounts:
- name: app-source
mountPath: /app-src
- name: npm-install
image: node:22-alpine
workingDir: /app-src
command:
- npm
- ci
- --legacy-peer-deps
volumeMounts:
- name: app-source
mountPath: /app-src
- name: npm-build
image: node:22-alpine
workingDir: /app-src
command:
- npm
- run
- build
volumeMounts:
- name: app-source
mountPath: /app-src
containers:
- name: storefront
image: node:22-alpine
workingDir: /app-src
command:
- npm
- start
ports:
- containerPort: 3000
startupProbe:
httpGet:
path: /
port: 3000
periodSeconds: 10
failureThreshold: 60
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
volumeMounts:
- name: app-source
mountPath: /app-src
volumes:
- name: app-source
emptyDir: {}