Browse Source

Add velero backup support to pdnsadmin

master
Fábio Kaiser Rauber 3 years ago
parent
commit
14ab11b20e
  1. 39
      charts/pdnsadmin/v0.1.0/templates/velero-schedule-weekdays.yaml
  2. 13
      charts/pdnsadmin/v0.1.0/values.yaml

39
charts/pdnsadmin/v0.1.0/templates/velero-schedule-weekdays.yaml

@ -0,0 +1,39 @@
{{- if .Values.velero.backup.enabled }}
apiVersion: velero.io/v1
kind: Schedule
metadata:
name: {{ include "pdnsadmin.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.excludedResources }}
excludedResources:
{{- toYaml . | nindent 8 }}
{{- 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: mysqldump
includedResources:
- pods
labelSelector:
matchLabels:
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/name: mariadb
pre:
- exec:
command:
- "/bin/bash"
- "-c"
- "/opt/bitnami/mariadb/bin/mysqldump {{ .Values.mariadb.auth.database }} -u {{ .Values.mariadb.auth.username }} -p$MARIADB_PASSWORD > /bitnami/mariadb/{{ .Values.mariadb.auth.database }}.dump"
timeout: 360s
onError: Continue
useOwnerReferencesInBackup: false
{{- end }}

13
charts/pdnsadmin/v0.1.0/values.yaml

@ -88,3 +88,16 @@ mariadb:
password: pdnsadminpw
rootPassword: pdnsadminrootpw
username: pdnsadmin
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
Loading…
Cancel
Save