diff --git a/charts/emailleg/v1.4.0/templates/velero-schedule-weekly.yaml b/charts/emailleg/v1.4.0/templates/velero-schedule-weekly.yaml new file mode 100644 index 0000000..17536f6 --- /dev/null +++ b/charts/emailleg/v1.4.0/templates/velero-schedule-weekly.yaml @@ -0,0 +1,22 @@ +{{- if .Values.velero.backup.enabled }} +apiVersion: velero.io/v1 +kind: Schedule +metadata: + name: {{ include "emailleg.fullname" . }}-weekly + namespace: {{ .Values.velero.namespace }} +spec: + # generate a random backup time between 1 and 5 AM on Monday, Wednesday and Friday + schedule: {{ mod (randNumeric 2) 60 }} {{ mod (randNumeric 1) 6 }} * * MON,WED,FRI + template: + includedNamespaces: + - {{ .Release.Namespace }} + {{- with .Values.velero.backup.excludedResources }} + excludedResources: + {{- toYaml . | nindent 8 }} + {{- end }} + snapshotVolumes: {{ .Values.velero.backup.snapshotVolumes }} + # every backup is good for 7 days (one week) + ttl: 168h0m0s + defaultVolumesToRestic: {{ .Values.velero.backup.defaultVolumesToRestic }} + useOwnerReferencesInBackup: false +{{- end }} \ No newline at end of file diff --git a/charts/emailleg/v1.4.0/values.yaml b/charts/emailleg/v1.4.0/values.yaml index 1e58479..a3ba423 100755 --- a/charts/emailleg/v1.4.0/values.yaml +++ b/charts/emailleg/v1.4.0/values.yaml @@ -100,6 +100,19 @@ securityContext: {} service: type: ClusterIP +velero: + namespace: velero + backup: + enabled: true + snapshotVolumes: false + defaultVolumesToRestic: true + # cert-manager objects are usually blocked during backup + excludedResources: + - certificates.cert-manager.io + - orders.acme.cert-manager.io + - certificaterequests.cert-manager.io + - challenges.acme.cert-manager.io + nodeSelector: {} tolerations: []