apiVersion: batch/v1 kind: CronJob metadata: name: restic-backblaze spec: schedule: "0 2 * * *" # at 2:00, every tuesday and saturday successfulJobsHistoryLimit: 2 failedJobsHistoryLimit: 2 jobTemplate: spec: template: spec: # nodeSelector: # kubernetes.io/arch: arm64 # TODO no arm64 nodes anymore restartPolicy: Never hostname: restic-k3s-pod # used by restic to identify the host containers: - name: restic-base-container image: restic/restic:latest command: - /bin/sh - -c # >- strips newlines # RESTIC_ARGS Can be for instance: --verbose --dry-run args: [] volumeMounts: - mountPath: /data name: backup-nfs-access - mountPath: /credentials name: restic-credentials env: - name: RESTIC_REPOSITORY valueFrom: secretKeyRef: name: restic-credentials key: RESTIC_REPOSITORY - name: B2_ACCOUNT_ID valueFrom: secretKeyRef: name: restic-credentials key: B2_ACCOUNT_ID - name: B2_ACCOUNT_KEY valueFrom: secretKeyRef: name: restic-credentials key: B2_ACCOUNT_KEY - name: RESTIC_PASSWORD_FILE value: /credentials/restic-password volumes: - name: backup-nfs-access persistentVolumeClaim: claimName: backup-nfs-access - name: restic-credentials secret: secretName: restic-credentials optional: false