{{- if .Values.velero.backup.enabled }} apiVersion: velero.io/v1 kind: Schedule metadata: name: {{ include "saberes.fullname" . }}-weekly namespace: {{ .Values.velero.namespace }} spec: # generate a random backup time between 1 and 5 AM on sunday schedule: {{ mod (randNumeric 2) 60 }} {{ mod (randNumeric 1) 6 }} * * 0 template: includedNamespaces: - {{ .Release.Namespace }} {{- with .Values.velero.backup.includedNamespaces }} {{- toYaml . | nindent 6 }} {{- end }} {{- with .Values.velero.backup.excludedResources }} excludedResources: {{- toYaml . | nindent 6 }} {{- end }} snapshotVolumes: {{ .Values.velero.backup.snapshotVolumes }} # every weekly backup is good for the next 30 days ttl: 720h0m0s defaultVolumesToFsBackup: {{ .Values.velero.backup.defaultVolumesToFsBackup }} hooks: resources: - name: pgdump includedResources: - pods labelSelector: matchLabels: app.kubernetes.io/component: primary app.kubernetes.io/instance: {{ .Values.velero.backup.dbAppName }} app.kubernetes.io/name: postgresql pre: - exec: command: - "/bin/bash" - "-c" - "PGPASSWORD=$POSTGRES_PASSWORD /opt/bitnami/postgresql/bin/pg_dump -Fc -U {{ .Values.moodle.dbUser }} -d {{ .Values.moodle.dbName }} > /bitnami/postgresql/{{ .Values.moodle.dbName }}.dump" timeout: 14400s onError: Continue useOwnerReferencesInBackup: false {{- end }}