diff --git a/test/nextcloud/1.0.0/templates/_helpers.tpl b/test/nextcloud/1.0.0/templates/_helpers.tpl index 431c729353..20b46bd16e 100644 --- a/test/nextcloud/1.0.0/templates/_helpers.tpl +++ b/test/nextcloud/1.0.0/templates/_helpers.tpl @@ -120,3 +120,10 @@ Nextcloud service account {{- define "nextcloud.serviceAccountName" -}} {{- printf "%s-service-account" .Release.Name -}} {{- end -}} + +{{/* +Get Nextloud Postgres Database Name +*/}} +{{- define "postgres.DatabaseName" -}} +{{- print "nextcloud" -}} +{{- end -}} diff --git a/test/nextcloud/1.0.0/templates/backup-postgres-hook.yaml b/test/nextcloud/1.0.0/templates/backup-postgres-hook.yaml new file mode 100644 index 0000000000..6a56652033 --- /dev/null +++ b/test/nextcloud/1.0.0/templates/backup-postgres-hook.yaml @@ -0,0 +1,36 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: "pre-upgrade-hook2" + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": hook-succeeded +spec: + template: + metadata: + name: "pre-upgrade-hook2" + spec: + restartPolicy: Never + serviceAccountName: {{ template "nextcloud.serviceAccountName" }} + containers: + - name: {{ .Chart.Name }}-postgres-backup + image: "postgres:13.1" + imagePullPolicy: {{ .Values.image.pullPolicy }} + env: + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: db-details + key: db-user + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: db-details + key: db-password + volumeMounts: + - name: postgres-data + mountPath: /var/lib/postgresql/data + - name: postgres-backup + mountPath: /postgres_backups + command: ['sh', '-c', "/docker-entrypoint.sh; pg_dump -U $POSTGRES_USER -d {{ template "postgres.DatabaseName"}} > /postgres_backups/update_dump;"] diff --git a/test/nextcloud/1.0.0/templates/deployment.yaml b/test/nextcloud/1.0.0/templates/deployment.yaml index e73c7f366d..effca727e5 100644 --- a/test/nextcloud/1.0.0/templates/deployment.yaml +++ b/test/nextcloud/1.0.0/templates/deployment.yaml @@ -49,7 +49,7 @@ spec: - name: POSTGRES_HOST value: {{ template "nextcloud.fullname" . }}-postgres:5432 - name: POSTGRES_DB - value: "nextcloud" + value: {{ template "postgres.DatabaseName" }} - name: POSTGRES_USER valueFrom: secretKeyRef: