apiVersion: batch/v1 kind: Job metadata: name: postgres-migrate namespace: trade-r001-canary spec: backoffLimit: 3 template: spec: restartPolicy: OnFailure containers: - name: postgres-migrate image: postgres:16 imagePullPolicy: IfNotPresent envFrom: - secretRef: name: trade-postgres resources: requests: cpu: 100m memory: 128Mi limits: cpu: 250m memory: 256Mi 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