Files
ApiCore/deploy/k8s/backend/deployment.yaml
T
Nick Szaunig 76a9e9c3a4
Backend Image / build-and-push (push) Successful in 2m49s
Frontend Image / build-and-push (push) Successful in 2m31s
feat: Backend migriert die Datenbank beim Start selbst statt ueber Job
Kein separater Kubernetes-Job mehr. Dockerfile-CMD fuehrt jetzt
`npm run migrate:deploy` aus, bevor `node dist/main.js` startet -
Tabellen werden beim ersten Verbinden automatisch angelegt. Sicher bei
mehreren gleichzeitig startenden Pod-Replicas (replicas: 2), da Prisma
migrate deploy einen DB-seitigen Advisory-Lock nutzt. deployment.yaml
bekommt eine startupProbe (failureThreshold 30 x periodSeconds 10 = bis
zu 5 Min), damit liveness/readiness den Container waehrend der
Migration nicht neu starten. ARCHITECTURE.md entsprechend aktualisiert,
migrate-job.yaml entfernt.
2026-08-26 22:33:44 +02:00

56 lines
1.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: apicore-backend
labels:
app: apicore-backend
spec:
replicas: 2
selector:
matchLabels:
app: apicore-backend
template:
metadata:
labels:
app: apicore-backend
spec:
containers:
- name: apicore-backend
image: git.encry.de/nick.rosenloecher/apicore-backend:latest
ports:
- containerPort: 3001
envFrom:
- configMapRef:
name: apicore-backend-config
- secretRef:
name: apicore-backend-secret
# Container fuehrt beim Start selbst `prisma migrate deploy` aus,
# bevor der Server Verbindungen annimmt (siehe Dockerfile CMD) -
# startupProbe gibt dafuer bis zu 5 Minuten Zeit, ohne dass
# liveness/readiness in der Zwischenzeit einen Neustart ausloesen.
startupProbe:
httpGet:
path: /health/ready
port: 3001
failureThreshold: 30
periodSeconds: 10
livenessProbe:
httpGet:
path: /health
port: 3001
initialDelaySeconds: 10
periodSeconds: 15
readinessProbe:
httpGet:
path: /health/ready
port: 3001
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi