Fábio Kaiser Rauber
3 years ago
4 changed files with 130 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||||
|
{{- if .Values.velero.backup.enabled }} |
||||
|
apiVersion: velero.io/v1 |
||||
|
kind: Schedule |
||||
|
metadata: |
||||
|
name: {{ include "edemocracia.fullname" . }}-monthly |
||||
|
namespace: {{ .Values.velero.namespace }} |
||||
|
spec: |
||||
|
# generate a random backup time between 1 and 5 AM on first day of every month |
||||
|
schedule: {{ mod (randNumeric 2) 60 }} {{ mod (randNumeric 1) 6 }} 1 * * |
||||
|
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 year (365 days) |
||||
|
ttl: 8760h0m0s |
||||
|
defaultVolumesToRestic: {{ .Values.velero.backup.defaultVolumesToRestic }} |
||||
|
hooks: |
||||
|
resources: |
||||
|
- name: pgdump |
||||
|
includedResources: |
||||
|
- pods |
||||
|
labelSelector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/instance: {{ .Release.Name }} |
||||
|
app.kubernetes.io/name: postgresql |
||||
|
pre: |
||||
|
- exec: |
||||
|
command: |
||||
|
- "/bin/bash" |
||||
|
- "-c" |
||||
|
- "PGPASSWORD=$POSTGRES_PASSWORD /opt/bitnami/postgresql/bin/pg_dumpall -U postgres > /bitnami/postgresql/all.dump" |
||||
|
timeout: 360s |
||||
|
onError: Continue |
||||
|
useOwnerReferencesInBackup: false |
||||
|
{{- end }} |
@ -0,0 +1,39 @@ |
|||||
|
{{- if .Values.velero.backup.enabled }} |
||||
|
apiVersion: velero.io/v1 |
||||
|
kind: Schedule |
||||
|
metadata: |
||||
|
name: {{ include "edemocracia.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: pgdump |
||||
|
includedResources: |
||||
|
- pods |
||||
|
labelSelector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/instance: {{ .Release.Name }} |
||||
|
app.kubernetes.io/name: postgresql |
||||
|
pre: |
||||
|
- exec: |
||||
|
command: |
||||
|
- "/bin/bash" |
||||
|
- "-c" |
||||
|
- "PGPASSWORD=$POSTGRES_PASSWORD /opt/bitnami/postgresql/bin/pg_dumpall -U postgres > /bitnami/postgresql/all.dump" |
||||
|
timeout: 360s |
||||
|
onError: Continue |
||||
|
useOwnerReferencesInBackup: false |
||||
|
{{- end }} |
@ -0,0 +1,39 @@ |
|||||
|
{{- if .Values.velero.backup.enabled }} |
||||
|
apiVersion: velero.io/v1 |
||||
|
kind: Schedule |
||||
|
metadata: |
||||
|
name: {{ include "edemocracia.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.excludedResources }} |
||||
|
excludedResources: |
||||
|
{{- toYaml . | nindent 8 }} |
||||
|
{{- end }} |
||||
|
snapshotVolumes: {{ .Values.velero.backup.snapshotVolumes }} |
||||
|
# every sunday backup is good for 30 days (aprox. 1 month) |
||||
|
ttl: 744h0m0s |
||||
|
defaultVolumesToRestic: {{ .Values.velero.backup.defaultVolumesToRestic }} |
||||
|
hooks: |
||||
|
resources: |
||||
|
- name: pgdump |
||||
|
includedResources: |
||||
|
- pods |
||||
|
labelSelector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/instance: {{ .Release.Name }} |
||||
|
app.kubernetes.io/name: postgresql |
||||
|
pre: |
||||
|
- exec: |
||||
|
command: |
||||
|
- "/bin/bash" |
||||
|
- "-c" |
||||
|
- "PGPASSWORD=$POSTGRES_PASSWORD /opt/bitnami/postgresql/bin/pg_dumpall -U postgres > /bitnami/postgresql/all.dump" |
||||
|
timeout: 360s |
||||
|
onError: Continue |
||||
|
useOwnerReferencesInBackup: false |
||||
|
{{- end }} |
Loading…
Reference in new issue