# Job statt Teil des Deployment-CMD: laeuft einmalig vor dem Rollout, damit # nicht mehrere Backend-Pod-Replicas gleichzeitig Migrationen ausfuehren # (siehe ARCHITECTURE.md Abschnitt 8). Jobs sind unveraenderlich, daher vor # jedem Deploy mit neuem Image-Tag zuerst loeschen: # # kubectl delete job apicore-backend-migrate --ignore-not-found # kubectl apply -f deploy/k8s/backend/migrate-job.yaml # kubectl wait --for=condition=complete job/apicore-backend-migrate --timeout=120s # kubectl apply -f deploy/k8s/backend/deployment.yaml apiVersion: batch/v1 kind: Job metadata: name: apicore-backend-migrate spec: backoffLimit: 2 ttlSecondsAfterFinished: 3600 template: spec: restartPolicy: Never containers: - name: migrate image: git.encry.de/nick.rosenloecher/apicore-backend:latest command: ["npm", "run", "migrate:deploy"] envFrom: - secretRef: name: apicore-backend-secret