backup-postgres-hook.yaml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. apiVersion: batch/v1
  2. kind: Job
  3. metadata:
  4. name: "pre-upgrade-hook2"
  5. annotations:
  6. "helm.sh/hook": pre-upgrade
  7. "helm.sh/hook-weight": "1"
  8. "helm.sh/hook-delete-policy": hook-succeeded
  9. spec:
  10. template:
  11. metadata:
  12. name: "pre-upgrade-hook2"
  13. spec:
  14. restartPolicy: Never
  15. serviceAccountName: {{ template "nextcloud.serviceAccountName" }}
  16. containers:
  17. - name: {{ .Chart.Name }}-postgres-backup
  18. image: "postgres:13.1"
  19. imagePullPolicy: {{ .Values.image.pullPolicy }}
  20. env:
  21. - name: POSTGRES_USER
  22. valueFrom:
  23. secretKeyRef:
  24. name: db-details
  25. key: db-user
  26. - name: POSTGRES_PASSWORD
  27. valueFrom:
  28. secretKeyRef:
  29. name: db-details
  30. key: db-password
  31. volumeMounts:
  32. - name: postgres-data
  33. mountPath: /var/lib/postgresql/data
  34. - name: postgres-backup
  35. mountPath: /postgres_backups
  36. command: ['sh', '-c', "/docker-entrypoint.sh; pg_dump -U $POSTGRES_USER -d {{ template "postgres.DatabaseName"}} > /postgres_backups/update_dump;"]