{{- if .Values.velero.backup.enabled }} apiVersion: velero.io/v1 kind: Schedule metadata: name: {{ include "saberes.fullname" . }}-weekdays namespace: {{ .Values.velero.namespace }} spec: # generate a random backup time between 1 and 5 AM on weekdays schedule: {{ mod (randNumeric 2) 60 }} {{ mod (randNumeric 1) 6 }} * * 1-5 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 weekday backup is good for the next week (7 days) ttl: 168h0m0s defaultVolumesToRestic: {{ .Values.velero.backup.defaultVolumesToRestic }} 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: 7200s onError: Continue useOwnerReferencesInBackup: false {{- end }}