--- apiVersion: batch/v1 kind: CronJob metadata: name: &app pgbackups namespace: default spec: schedule: "@daily" jobTemplate: spec: ttlSecondsAfterFinished: 86400 template: spec: automountServiceAccountToken: false restartPolicy: OnFailure containers: - name: pgbackups image: prodrigestivill/postgres-backup-local:14-alpine@sha256:2985300b476382c727fc170d3f2b37972b8445cc92635f1bcc6fa48a1a061f01 env: - name: POSTGRES_HOST value: postgres-rw.default.svc.cluster.local. - name: POSTGRES_DB value: "authelia,freshrss,gitea,home_assistant,healthchecks,invidious,joplin,lychee,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" - name: WEBHOOK_URL value: http://healthchecks.default.svc.cluster.local.:/ping/${SECRET_HEALTHCHECKS_PING_KEY}/postgresql-backup command: - "/backup.sh" volumeMounts: - name: backups mountPath: /backups volumes: - name: backups nfs: server: "${LOCAL_LAN_TRUENAS}" path: /mnt/storage/backups/postgresql