changed mysql password usage to prevent warnings & used labels the helm 2.14 way (#15893)

Signed-off-by: André Bauer <andre.bauer@kiwigrid.com>
This commit is contained in:
André Bauer
2019-07-25 03:15:52 -07:00
committed by Kubernetes Prow Robot
parent 8a0412450d
commit b50f642938
9 changed files with 32 additions and 46 deletions
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 }}
+14 -1
View File
@@ -43,4 +43,17 @@ Generate gcp service account name
*/}}
{{- define "mysqldump.serviceAccountName" -}}
{{ default (include "mysqldump.fullname" .) .Values.upload.googlestoragebucket.serviceAccountName }}
{{- end -}}
{{- 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 -}}
+8 -14
View File
@@ -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 }}
+1 -4
View File
@@ -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 }}
@@ -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" . }}
+1 -4
View File
@@ -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:
+1 -4
View File
@@ -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 }}
+4 -13
View File
@@ -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 }}