--- apiVersion: batch/v1 kind: CronJob metadata: name: &app cloudnative-pg-external-backup namespace: default spec: schedule: "@daily" jobTemplate: spec: ttlSecondsAfterFinished: 86400 template: spec: automountServiceAccountToken: false restartPolicy: OnFailure containers: - name: *app image: prodrigestivill/postgres-backup-local:15-alpine@sha256:1209779d7b39a9f73d498091452051fedfe140252bff59ea1c42e0a9a8a9b8e0 env: - name: POSTGRES_HOST value: ${POSTGRES_HOST} - name: POSTGRES_DB value: "authelia,drone,freshrss,gitea,invidious,joplin,lychee,paperless,recipes,sharry,outline,vaultwarden,vikunja,wallabag" - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-superuser key: username - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: postgres-superuser key: password - name: POSTGRES_EXTRA_OPTS value: "-Z9 --schema=public --blobs" - name: BACKUP_KEEP_DAYS value: "7" - name: BACKUP_KEEP_WEEKS value: "4" - name: BACKUP_KEEP_MONTHS value: "3" - name: HEALTHCHECK_PORT value: "8080" command: - "/backup.sh" volumeMounts: - name: backups mountPath: /backups - name: files subPath: 00-webhook mountPath: /hooks/00-webhook volumes: - name: backups nfs: server: "${LOCAL_LAN_TRUENAS}" path: /mnt/storage/backups/postgresql - name: files configMap: name: postgres-external-backup defaultMode: 0555