diff --git a/stable/mysqldump/Chart.yaml b/stable/mysqldump/Chart.yaml index 03345566ef..01e13aaf95 100644 --- a/stable/mysqldump/Chart.yaml +++ b/stable/mysqldump/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 -appVersion: 2.3.1 +appVersion: 2.4.0 description: A Helm chart to help backup MySQL databases using mysqldump name: mysqldump -version: 2.3.1 +version: 2.4.0 keywords: - mysql - mysqldump diff --git a/stable/mysqldump/README.md b/stable/mysqldump/README.md index 93e34f7115..14d8958d25 100644 --- a/stable/mysqldump/README.md +++ b/stable/mysqldump/README.md @@ -57,6 +57,7 @@ The following tables lists the configurable parameters of the mysqldump chart an | schedule | crontab schedule to run on. set as `now` to run as a one time job | "0/5 \* \* \* \*" | | options | options to pass onto MySQL | "--opt --single-transaction" | | debug | print some extra debug logs during backup | false | +| additionalSteps | run these extra shell steps after all backup jobs completed | [] | | successfulJobsHistoryLimit | number of successful jobs to remember | 5 | | failedJobsHistoryLimit | number of failed jobs to remember | 5 | | persistentVolumeClaim | existing Persistent Volume Claim to backup to, leave blank to create a new one | | diff --git a/stable/mysqldump/templates/NOTES.txt b/stable/mysqldump/templates/NOTES.txt index cff75de1de..22ad7e8937 100644 --- a/stable/mysqldump/templates/NOTES.txt +++ b/stable/mysqldump/templates/NOTES.txt @@ -10,7 +10,7 @@ $ kubectl get pods --selector=job-name={{ template "mysqldump.fullname" . }} --s To see the logs from the backup job run: -$ kubectl logs `kc get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` +$ kubectl logs `kubectl get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` mysqldump contents can be found in: {{- if .Values.persistentVolumeClaim }} @@ -19,7 +19,7 @@ $ kubectl get persistentvolumeclaim {{ .Values.persistentVolumeClaim }} {{- if .Values.persistence.enabled }} $ kubectl get persistentvolumeclaim {{ template "mysqldump.fullname" . }} {{- else }} -$ kubectl logs `kc get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` +$ kubectl logs `kubectl get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` {{- end -}} {{- end }} @@ -35,8 +35,8 @@ $ kubectl get jobs --selector=cronjob-name={{ template "mysqldump.fullname" . }} To see the logs from the most recent backup job run: -$ kubectl logs $(kc get pods --selector \ - job-name=$(kc get jobs --selector=cronjob-name={{ template "mysqldump.fullname" . }} \ +$ kubectl logs $(kubectl get pods --selector \ + job-name=$(kubectl get jobs --selector=cronjob-name={{ template "mysqldump.fullname" . }} \ --output=jsonpath='{.items[-1:].metadata.name}') \ --output=jsonpath={.items..metadata.name}) @@ -47,7 +47,7 @@ $ kubectl get persistentvolumeclaim {{ .Values.persistentVolumeClaim }} {{- if .Values.persistence.enabled }} $ kubectl get persistentvolumeclaim {{ template "mysqldump.fullname" . }} {{- else }} -$ kubectl logs `kc get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` +$ kubectl logs `kubectl get pods --selector=job-name=test-mysqldump --output=jsonpath={.items..metadata.name}` {{- end -}} {{- end }} diff --git a/stable/mysqldump/templates/configmap.yaml b/stable/mysqldump/templates/configmap.yaml index 33ba7d2376..c36d43870a 100644 --- a/stable/mysqldump/templates/configmap.yaml +++ b/stable/mysqldump/templates/configmap.yaml @@ -103,6 +103,12 @@ data: exit 1 fi + {{ if .Values.additionalSteps }} + {{- range .Values.additionalSteps }} + {{ . }} + {{- end }} + {{- end }} + {{ if .Values.debug }} ls -alh ${BACKUP_DIR} {{ end }} diff --git a/stable/mysqldump/values.yaml b/stable/mysqldump/values.yaml index e5b1e15779..c0783461d3 100644 --- a/stable/mysqldump/values.yaml +++ b/stable/mysqldump/values.yaml @@ -40,6 +40,14 @@ debug: false successfulJobsHistoryLimit: 5 failedJobsHistoryLimit: 5 +# additional steps for mysqldump shell script +# will be inserted after all backup and upload jobs completed successfully. +# Use "${BACKUP_DIR}/${TIMESTAMP}_${MYSQL_DB}.sql.gz" as dump file name. +# see examples +additionalSteps: [] +# - gsutil cp "${BACKUP_DIR}/${TIMESTAMP}_${MYSQL_DB}.sql.gz" gs://mybucket/latest.sql.gz +# - echo "latest sql dump updated" + ## set persistentVolumeClaim to use a PVC that already exists. ## if set will override any settings under `persistence` otherwise ## if not set and `persistence.enabled` set to true, will create a PVC.