{{- if .Values.velero.backup.enabled }}
apiVersion: velero.io/v1
kind: Schedule
metadata:
  name: {{ include "sigi.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_dump -U sigi -d sigi > /bitnami/postgresql/sigi.dump" 
              timeout: 360s
              onError: Continue
  useOwnerReferencesInBackup: false
{{- end }}