---
apiVersion: v1
kind: Secret
metadata:
  name: pgpass-migration
type: Opaque
stringData:
  .pgpass: |
    default-cluster-primary.postgres.svc:5432:umami:postgres:(g>_lO9v|?(B.4xiYt0}/+m)
    app-cluster-pooler-rw.postgres.svc:5432:umami:umami-ciWvqZ:aDvAwEWR7HZz8Ab
---
apiVersion: batch/v1
kind: Job
metadata:
  name: migrate
  namespace: postgres
spec:
  template:
    spec:
      containers:
      - name: postgres
        image: postgres:16-alpine
        command:
          - /bin/ash
          - -c
          - pg_dump --create --clean --no-owner --no-privileges -h default-cluster-primary.postgres.svc -U postgres "${DB_NAME}" | psql -h app-cluster-pooler-rw.postgres.svc -U "${TARGET_USER}" "${DB_NAME}"
        env:
          - name: DB_NAME
            value: umami
          - name: TARGET_USER
            value: umami-ciWvqZ
        volumeMounts:
          - name: pgpass
            readOnly: true
            mountPath: /root/
      restartPolicy: Never
      volumes:
        - name: pgpass
          secret:
            defaultMode: 0700
            secretName: pgpass-migration
  backoffLimit: 4