apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: backup-prune
spec:
schedule: "30 5 */1 * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup
image: docker.io/restic/restic:0.12.0
imagePullPolicy: IfNotPresent
command:
- restic
args:
- forget
- --prune
- --keep-hourly
- "24"
- --keep-daily
- "7"
- --keep-weekly
- "8"
- --keep-monthly
- "24"
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: postgres-backup-storage-credentials
key: access_key
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: postgres-backup-storage-credentials
key: secret_key
- name: RESTIC_REPOSITORY
valueFrom:
secretKeyRef:
name: postgres-backup-repository
key: repository
- name: RESTIC_PASSWORD
valueFrom:
secretKeyRef:
name: postgres-backup-repository
key: password
restartPolicy: OnFailure