diff options
Diffstat (limited to 'kubernetes/common/mariadb-init')
-rwxr-xr-x | kubernetes/common/mariadb-init/resources/config/db_init.sh | 34 | ||||
-rw-r--r-- | kubernetes/common/mariadb-init/templates/job.yaml | 9 |
2 files changed, 26 insertions, 17 deletions
diff --git a/kubernetes/common/mariadb-init/resources/config/db_init.sh b/kubernetes/common/mariadb-init/resources/config/db_init.sh index 304835bdd5..8caa697e79 100755 --- a/kubernetes/common/mariadb-init/resources/config/db_init.sh +++ b/kubernetes/common/mariadb-init/resources/config/db_init.sh @@ -1,5 +1,6 @@ -#!/bin/sh +#!/bin/bash # Copyright © 2019 Orange +# Copyright © 2020 Samsung Electronics # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,20 +14,23 @@ # See the License for the specific language governing permissions and # limitations under the License. -echo "Creating database {{ .Values.config.mysqlDatabase }} and user {{ .Values.config.userName }}..." +while read DB ; do + USER_VAR="MYSQL_USER_${DB^^}" + PASS_VAR="MYSQL_PASSWORD_${DB^^}" + USER=${USER_VAR} + PASS=${PASS_VAR} + MYSQL_OPTS=( -h ${DB_HOST} -P ${DB_PORT} -uroot -p${MYSQL_ROOT_PASSWORD} ) -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE OR REPLACE USER '{{ .Values.config.userName }}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}'" -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE IF NOT EXISTS {{ .Values.config.mysqlDatabase }}" -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON {{ .Values.config.mysqlDatabase }}.* TO '{{ .Values.config.userName }}'@'%'" + echo "Creating database ${DB} and user ${USER}..." -echo "Created database {{ .Values.config.mysqlDatabase }} and user {{ .Values.config.userName }}." + mysql "${MYSQL_OPTS[@]}" -e "CREATE OR REPLACE USER '${USER}'@'%' IDENTIFIED BY '${PASS}'" + mysql "${MYSQL_OPTS[@]}" -e "CREATE DATABASE IF NOT EXISTS ${DB}" + mysql "${MYSQL_OPTS[@]}" -e "GRANT ALL PRIVILEGES ON ${DB}.* TO '${USER}'@'%'" -{{ range $db, $dbInfos := .Values.config.mysqlAdditionalDatabases -}} -echo "Creating database {{ $db }} and user {{ $dbInfos.user }}..." - -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE OR REPLACE USER '{{ $dbInfos.user }}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD_{{ $db | upper }}}'" -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "CREATE DATABASE IF NOT EXISTS {{ $db }}" -mysql -h ${DB_HOST} -P ${DB_PORT} -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON {{ $db }}.* TO '{{ $dbInfos.user }}'@'%'" - -echo "Created database {{ $db }} and user {{ $dbInfos.user }}." -{{ end }} + echo "Created database ${DB} and user ${USER}." +done <<EOF +{{ .Values.config.mysqlDatabase }} +{{- range $db, $_value := .Values.config.mysqlAdditionalDatabases }} +{{ $db }} +{{- end }} +EOF diff --git a/kubernetes/common/mariadb-init/templates/job.yaml b/kubernetes/common/mariadb-init/templates/job.yaml index 679c10c9a3..f3ff9934ab 100644 --- a/kubernetes/common/mariadb-init/templates/job.yaml +++ b/kubernetes/common/mariadb-init/templates/job.yaml @@ -1,4 +1,5 @@ # Copyright © 2019 Orange +# Copyright © 2020 Samsung Electronics # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -63,13 +64,17 @@ spec: secretKeyRef: name: {{ include "mariadbInit.mariadbClusterSecret" . }} key: {{ .Values.global.mariadbGalera.userRootSecretKey }} - - name: MYSQL_PASSWORD + - name: {{ printf "MYSQL_USER_%s" .Values.config.mysqlDatabase | upper }} + value: "{{ .Values.config.userName }}" + - name: {{ printf "MYSQL_PASSWORD_%s" .Values.config.mysqlDatabase | upper }} valueFrom: secretKeyRef: name: {{ template "common.fullname" . }} key: db-user-password {{- $root := . }} -{{ range $db, $_value := .Values.config.mysqlAdditionalDatabases }} +{{ range $db, $dbInfos := .Values.config.mysqlAdditionalDatabases }} + - name: {{ printf "MYSQL_USER_%s" $db | upper }} + value: {{ $dbInfos.user }} - name: {{ printf "MYSQL_PASSWORD_%s" $db | upper }} valueFrom: secretKeyRef: |