Commit e52e28fa authored by Waqar Ahmed's avatar Waqar Ahmed

Use unique name for backup

parent 8d8fe11e
...@@ -13,4 +13,12 @@ app.kubernetes.io/name: {{ include "nextcloud.name" . }}-postgres ...@@ -13,4 +13,12 @@ app.kubernetes.io/name: {{ include "nextcloud.name" . }}-postgres
app.kubernetes.io/instance: {{ .Release.Name }}-postgres app.kubernetes.io/instance: {{ .Release.Name }}-postgres
{{- end }} {{- end }}
{{/*
Retrieve postgres backup name
This will return a unique name based on revision and chart numbers specified.
*/}}
{{- define "postgres.backupName" -}}
{{- $upgradeDict := .Values.ixChartContext.upgradeMetadata -}}
{{- printf "postgres-backup-from-%s-to-%s-revision-%d" $upgradeDict.oldChartVersion $upgradeDict.newChartVersion (int64 $upgradeDict.preUpgradeRevision) -}}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: "postgres-backup-hook-config-map"
annotations:
rollme: {{ randAlphaNum 5 | quote }}
data:
entrypoint.sh: |-
#!/bin/sh
cmd="/docker-entrypoint.sh postgres"
eval "${cmd}" & disown;
until pg_isready; do
sleep 5;
done;
pg_dump -U $POSTGRES_USER -d {{ template "postgres.DatabaseName" . }} > /postgres_backups/$BACKUP_NAME;
apiVersion: v1 {{- if .Values.ixChartContext.isUpgrade -}}
kind: ConfigMap
metadata:
name: "postgres-backup-hook-config-map"
data:
entrypoint.sh: |-
#!/bin/sh
cmd="/docker-entrypoint.sh postgres"
eval "${cmd}" & disown;
until pg_isready; do
sleep 5;
done;
pg_dump -U $POSTGRES_USER -d {{ template "postgres.DatabaseName"}} > /postgres_backups/update_dump;
---
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
...@@ -22,6 +7,7 @@ metadata: ...@@ -22,6 +7,7 @@ metadata:
"helm.sh/hook": pre-upgrade "helm.sh/hook": pre-upgrade
"helm.sh/hook-weight": "1" "helm.sh/hook-weight": "1"
"helm.sh/hook-delete-policy": hook-succeeded "helm.sh/hook-delete-policy": hook-succeeded
rollme: {{ randAlphaNum 5 | quote }}
spec: spec:
template: template:
metadata: metadata:
...@@ -44,6 +30,8 @@ spec: ...@@ -44,6 +30,8 @@ spec:
secretKeyRef: secretKeyRef:
name: db-details name: db-details
key: db-password key: db-password
- name: BACKUP_NAME
value: {{ template "postgres.backupName" . }}
volumeMounts: volumeMounts:
- name: postgres-data - name: postgres-data
mountPath: /var/lib/postgresql/data mountPath: /var/lib/postgresql/data
...@@ -66,3 +54,4 @@ spec: ...@@ -66,3 +54,4 @@ spec:
configMap: configMap:
defaultMode: 0700 defaultMode: 0700
name: "postgres-backup-hook-config-map" name: "postgres-backup-hook-config-map"
{{- end -}}
...@@ -49,7 +49,7 @@ spec: ...@@ -49,7 +49,7 @@ spec:
- name: POSTGRES_HOST - name: POSTGRES_HOST
value: {{ template "nextcloud.fullname" . }}-postgres:5432 value: {{ template "nextcloud.fullname" . }}-postgres:5432
- name: POSTGRES_DB - name: POSTGRES_DB
value: {{ template "postgres.DatabaseName" }} value: {{ template "postgres.DatabaseName" . }}
- name: POSTGRES_USER - name: POSTGRES_USER
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
......
{{- if .Values.ixChartContext.isUpgrade -}}
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
...@@ -6,6 +7,7 @@ metadata: ...@@ -6,6 +7,7 @@ metadata:
"helm.sh/hook": pre-upgrade "helm.sh/hook": pre-upgrade
"helm.sh/hook-weight": "-1" "helm.sh/hook-weight": "-1"
"helm.sh/hook-delete-policy": hook-succeeded "helm.sh/hook-delete-policy": hook-succeeded
rollme: {{ randAlphaNum 5 | quote }}
spec: spec:
template: template:
metadata: metadata:
...@@ -17,3 +19,4 @@ spec: ...@@ -17,3 +19,4 @@ spec:
- name: kubectl - name: kubectl
image: "bitnami/kubectl:1.19" image: "bitnami/kubectl:1.19"
command: ["kubectl", "delete" , "deployment", "{{ template "nextcloud.fullname" . }}", "{{ template "nextcloud.fullname" . }}-postgres"] command: ["kubectl", "delete" , "deployment", "{{ template "nextcloud.fullname" . }}", "{{ template "nextcloud.fullname" . }}-postgres"]
{{- end -}}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment