diff --git a/stable/mysqldump/Chart.yaml b/stable/mysqldump/Chart.yaml index a03da718c3..c05e42810e 100644 --- a/stable/mysqldump/Chart.yaml +++ b/stable/mysqldump/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v1 appVersion: 2.4.1 description: A Helm chart to help backup MySQL databases using mysqldump name: mysqldump -version: 2.5.0 +version: 2.5.1 keywords: - mysql - mysqldump diff --git a/stable/mysqldump/files/job.tpl b/stable/mysqldump/files/job.tpl index d0adb2a291..4411745ac8 100755 --- a/stable/mysqldump/files/job.tpl +++ b/stable/mysqldump/files/job.tpl @@ -6,7 +6,7 @@ spec: command: ["/bin/bash", "/scripts/backup.sh"] {{- if .Values.mysql.existingSecret }} env: - - name: MYSQL_PASSWORD + - name: MYSQL_PWD valueFrom: secretKeyRef: name: {{ .Values.mysql.existingSecret | quote }} diff --git a/stable/mysqldump/templates/_helpers.tpl b/stable/mysqldump/templates/_helpers.tpl index 614e25e8e5..d3497f3d2e 100644 --- a/stable/mysqldump/templates/_helpers.tpl +++ b/stable/mysqldump/templates/_helpers.tpl @@ -43,4 +43,17 @@ Generate gcp service account name */}} {{- define "mysqldump.serviceAccountName" -}} {{ default (include "mysqldump.fullname" .) .Values.upload.googlestoragebucket.serviceAccountName }} -{{- end -}} \ No newline at end of file +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "mysqldump.labels" -}} +app.kubernetes.io/name: {{ include "mysqldump.name" . }} +helm.sh/chart: {{ include "mysqldump.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} diff --git a/stable/mysqldump/templates/configmap.yaml b/stable/mysqldump/templates/configmap.yaml index bd911e49bf..3c922e85e2 100755 --- a/stable/mysqldump/templates/configmap.yaml +++ b/stable/mysqldump/templates/configmap.yaml @@ -3,10 +3,7 @@ kind: ConfigMap metadata: name: {{ template "mysqldump.fullname" . }} labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} data: MYSQL_HOST: {{ .Values.mysql.host | quote }} MYSQL_USERNAME: {{ .Values.mysql.username | quote }} @@ -19,10 +16,7 @@ kind: ConfigMap metadata: name: {{ template "mysqldump.fullname" . }}-script labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} data: backup.sh: |- #!/bin/sh @@ -36,7 +30,7 @@ data: TIMESTAMP="$(date +%Y%m%d%H%M%S)" echo "test mysql connection" - if [ -z "$(mysql -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} -B -N -e 'SHOW DATABASES;')" ]; then + if [ -z "$(mysql -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} -B -N -e 'SHOW DATABASES;')" ]; then echo "mysql connection failed! exiting..." exit 1 fi @@ -54,13 +48,13 @@ data: MYSQL_DB="{{ .Values.mysql.db }}" echo "Backing up single db ${MYSQL_DB}" {{ if .Values.saveToDirectory }}mkdir -p "${BACKUP_DIR}"/"${MYSQL_DB}"{{ end }} - mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} --databases ${MYSQL_DB} | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz + mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} --databases ${MYSQL_DB} | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz rc=$? {{ else if and (.Values.allDatabases.enabled) (eq .Values.allDatabases.singleBackupFile false)}} - for MYSQL_DB in $(mysql -h "${MYSQL_HOST}" -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} -B -N -e "SHOW DATABASES;"|egrep -v '^(information|performance)_schema$'); do + for MYSQL_DB in $(mysql -h "${MYSQL_HOST}" -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} -B -N -e "SHOW DATABASES;"|egrep -v '^(information|performance)_schema$'); do echo "Backing up db ${MYSQL_DB}" {{ if .Values.saveToDirectory }}mkdir -p "${BACKUP_DIR}"/"${MYSQL_DB}"{{ end }} - mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} --databases ${MYSQL_DB} | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz + mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} --databases ${MYSQL_DB} | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz rc=$? done @@ -68,7 +62,7 @@ data: echo "Backing up all databases" MYSQL_DB="alldatabases" {{ if .Values.saveToDirectory }}mkdir -p "${BACKUP_DIR}"/"${MYSQL_DB}"{{ end }} - mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} --all-databases | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz + mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} --all-databases | gzip > ${BACKUP_DIR}/{{ if .Values.saveToDirectory }}${MYSQL_DB}/{{ end }}${TIMESTAMP}_${MYSQL_DB}.sql.gz rc=$? {{- end -}} @@ -93,7 +87,7 @@ data: {{- else }} {{ if .Values.dumpAllToStdout }} - mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME}{{ if or .Values.mysql.password .Values.mysql.existingSecret }} -p${MYSQL_PASSWORD}{{ end }} --all-databases + mysqldump ${MYSQL_OPTS} -h ${MYSQL_HOST} -P ${MYSQL_PORT} -u ${MYSQL_USERNAME} --all-databases rc=$? {{ end }} {{ end }} diff --git a/stable/mysqldump/templates/cron.yaml b/stable/mysqldump/templates/cron.yaml index 7309b7f45b..09cfbad7aa 100644 --- a/stable/mysqldump/templates/cron.yaml +++ b/stable/mysqldump/templates/cron.yaml @@ -4,10 +4,7 @@ kind: CronJob metadata: name: {{ template "mysqldump.fullname" . }} labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} spec: schedule: "{{ .Values.schedule }}" successfulJobsHistoryLimit: {{ .Values.successfulJobsHistoryLimit }} diff --git a/stable/mysqldump/templates/gcpserviceaccount.yaml b/stable/mysqldump/templates/gcpserviceaccount.yaml index 543f77c065..14bf159c28 100644 --- a/stable/mysqldump/templates/gcpserviceaccount.yaml +++ b/stable/mysqldump/templates/gcpserviceaccount.yaml @@ -4,10 +4,7 @@ kind: GcpServiceAccount metadata: labels: controller-tools.k8s.io: "1.0" - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} name: {{ template "mysqldump.fullname" . }} spec: serviceAccountIdentifier: {{ template "mysqldump.serviceAccountName" . }} diff --git a/stable/mysqldump/templates/job.yaml b/stable/mysqldump/templates/job.yaml index be0bf92e37..70b43a60bf 100644 --- a/stable/mysqldump/templates/job.yaml +++ b/stable/mysqldump/templates/job.yaml @@ -4,10 +4,7 @@ kind: Job metadata: name: {{ template "mysqldump.fullname" . }} labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} spec: backoffLimit: 1 template: diff --git a/stable/mysqldump/templates/pvc.yaml b/stable/mysqldump/templates/pvc.yaml index e5ea4facfd..83d1156498 100644 --- a/stable/mysqldump/templates/pvc.yaml +++ b/stable/mysqldump/templates/pvc.yaml @@ -5,10 +5,7 @@ kind: PersistentVolumeClaim metadata: name: {{ template "mysqldump.fullname" . }} labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} spec: accessModes: [{{ .Values.persistence.accessMode | quote }}] {{- if .Values.persistence.storageClass }} diff --git a/stable/mysqldump/templates/secret.yaml b/stable/mysqldump/templates/secret.yaml index c24fda7dc0..e0731fc912 100644 --- a/stable/mysqldump/templates/secret.yaml +++ b/stable/mysqldump/templates/secret.yaml @@ -4,13 +4,10 @@ kind: Secret metadata: name: "{{ template "mysqldump.fullname" . }}" labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} type: Opaque data: - MYSQL_PASSWORD: {{ .Values.mysql.password | b64enc | quote }} + MYSQL_PWD: {{ .Values.mysql.password | b64enc | quote }} --- {{- end }} {{- if .Values.upload.ssh.enabled }} @@ -19,10 +16,7 @@ kind: Secret metadata: name: "{{ template "mysqldump.fullname" . }}-ssh-privatekey" labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} type: Opaque stringData: id_rsa: {{ .Values.upload.ssh.privatekey | quote }} @@ -36,10 +30,7 @@ kind: Secret metadata: name: {{ template "mysqldump.gcpsecretName" . }} labels: - app.kubernetes.io/name: {{ include "mysqldump.name" . }} - helm.sh/chart: {{ include "mysqldump.chart" . }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/managed-by: {{ .Release.Service }} +{{ include "mysqldump.labels" . | indent 4 }} type: Opaque stringData: {{ .Values.upload.googlestoragebucket.secretFileName }}: {{ .Values.upload.googlestoragebucket.jsonKeyfile | quote }}