Browse Source

Added velero backup schedule for weekdays

master
Fábio Kaiser Rauber 3 years ago
parent
commit
93b70fdad0
  1. 43
      charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml
  2. 16
      charts/saberes/v0.1.0/values.yaml

43
charts/saberes/v0.1.0/templates/velero-schedule-weekdays.yaml

@ -0,0 +1,43 @@
{{- 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 -U {{ .Values.moodle.dbUser }} -d {{ .Values.moodle.dbName }} > /bitnami/postgresql/{{ .Values.moodle.dbName }}.dump"
timeout: 360s
onError: Continue
useOwnerReferencesInBackup: false
{{- end }}

16
charts/saberes/v0.1.0/values.yaml

@ -80,6 +80,22 @@ autoscaling:
targetCPUUtilizationPercentage: 90
targetMemoryUtilizationPercentage: 90
velero:
namespace: velero
backup:
enabled: true
snapshotVolumes: false
defaultVolumesToRestic: true
# cert-manager objects are usually blocked during backup
includedNamespaces:
- saberesdb
dbAppName: saberesdb
excludedResources:
- certificates.cert-manager.io
- orders.acme.cert-manager.io
- certificaterequests.cert-manager.io
- challenges.acme.cert-manager.io
nodeSelector: {}
tolerations: []
Loading…
Cancel
Save