# Copyright © 2017 Amdocs, Bell Canada, Orange
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

{{- define "mariadb-init._update-secrets" -}}
  {{ range $db, $dbInfos := .Values.config.mysqlAdditionalDatabases }}
{{ printf "- uid: %s" $db }}
{{ printf "  type: basicAuth" }}
    {{- if $dbInfos.externalSecret }}
{{ printf "  externalSecret: %s" $dbInfos.externalSecret }}
    {{- end }}
{{ printf "  login: %s" $dbInfos.user }}
{{ printf "  password: %s" $dbInfos.password }}
{{ printf "  passwordPolicy: required" }}
  {{- end -}}
{{- end -}}

{{ $global := . }}
{{ $secretsString := .Values.secrets | toYaml | indent 2 }}
{{ $additionalSecretsString := (include "mariadb-init._update-secrets" .) | indent 2 }}
{{ $finalSecretsString := (cat "\nsecrets:\n" $secretsString $additionalSecretsString) | replace "   -" "  -" }}
{{ $finalSecrets := ($finalSecretsString | fromYaml).secrets }}

{{ $newValues := set $global.Values "secrets" $finalSecrets }}
{{ $tmpGlobal := set $global "Values" $newValues }}

{{ include "common.secret" $tmpGlobal }}