From 57dac0c131881018941751c2556419175bb4a656 Mon Sep 17 00:00:00 2001 From: Fabio Date: Mon, 23 Oct 2023 14:44:41 -0300 Subject: [PATCH] Added weekly backup to Saberes --- .../templates/velero-schedule-weekdays.yaml | 4 +- .../templates/velero-schedule-weekly.yaml | 43 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 charts/saberes/v0.1.0/templates/velero-schedule-weekly.yaml diff --git a/charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml b/charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml index b931c40..f564ba6 100644 --- a/charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml +++ b/charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml @@ -18,8 +18,8 @@ spec: {{- toYaml . | nindent 6 }} {{- end }} snapshotVolumes: {{ .Values.velero.backup.snapshotVolumes }} - # every weekday backup is good for the next week (7 days) - ttl: 168h0m0s + # every weekday backup is good for the 3 days + ttl: 72h0m0s defaultVolumesToFsBackup: {{ .Values.velero.backup.defaultVolumesToFsBackup }} hooks: resources: diff --git a/charts/saberes/v0.1.0/templates/velero-schedule-weekly.yaml b/charts/saberes/v0.1.0/templates/velero-schedule-weekly.yaml new file mode 100644 index 0000000..d525103 --- /dev/null +++ b/charts/saberes/v0.1.0/templates/velero-schedule-weekly.yaml @@ -0,0 +1,43 @@ +{{- 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 }} \ No newline at end of file