Files
trade-deploy/kustomize/base/postgres/job-migrate.yaml
2026-01-10 00:52:10 +00:00

37 lines
1.1 KiB
YAML

apiVersion: batch/v1
kind: Job
metadata:
name: postgres-migrate
annotations:
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation,HookSucceeded
argocd.argoproj.io/sync-wave: "2"
spec:
backoffLimit: 3
template:
spec:
restartPolicy: OnFailure
containers:
- name: postgres-migrate
image: postgres:16
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: trade-postgres
command:
- sh
- -ec
- |
export PGPASSWORD="$POSTGRES_PASSWORD"
until pg_isready -h postgres -U "$POSTGRES_USER" -d "$POSTGRES_DB"; do sleep 1; done
psql -h postgres -U "$POSTGRES_USER" -d "$POSTGRES_DB" -v ON_ERROR_STOP=1 -f /migrations/001_init.sql
volumeMounts:
- name: migrations
mountPath: /migrations/001_init.sql
subPath: 001_init.sql
readOnly: true
volumes:
- name: migrations
configMap:
name: postgres-initdb