[COMMON] Use faster version of common secret template 88/111988/5
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Tue, 1 Sep 2020 16:35:40 +0000 (18:35 +0200)
committerkrishnaa96 <krishna.moorthy6@wipro.com>
Sun, 6 Sep 2020 16:15:11 +0000 (21:45 +0530)
Replace all calls to common.secret in mariadb-init with
the faster version common.secretFast to save some linting time.

Issue-ID: OOM-2248
Change-Id: Id1658b46f3322ecc68155fafd72480e922978369
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
kubernetes/common/mariadb-init/templates/_mariadb.tpl
kubernetes/common/mariadb-init/templates/job.yaml
kubernetes/common/mariadb-init/templates/secret.yaml

index af9a4f5..5563fe7 100644 (file)
@@ -1,5 +1,6 @@
 {{/*
 # 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.
 {{- define "mariadbInit.mariadbClusterSecret" -}}
   {{- include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" (default "mariadb-galera" .Values.global.mariadbGalera.nameOverride)) -}}
 {{- end -}}
+
+{{- define "mariadbInit._updateSecrets" -}}
+  {{- if not .Values.secretsUpdated }}
+    {{- $global := . }}
+    {{- range $db, $dbInfos := .Values.config.mysqlAdditionalDatabases }}
+      {{- $item := dict "uid" $db "type" "basicAuth" "externalSecret" (default "" $dbInfos.externalSecret) "login" (default "" $dbInfos.user) "password" (default "" $dbInfos.password) "passwordPolicy" "required" }}
+      {{- $newList := append $global.Values.secrets $item }}
+      {{- $_ := set $global.Values "secrets" $newList }}
+    {{- end -}}
+    {{ $_ := set $global.Values "secretsUpdated" true }}
+  {{- end -}}
+{{- end -}}
index 465dc92..7de0a91 100644 (file)
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+{{ include "mariadbInit._updateSecrets" . -}}
+
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -60,17 +62,17 @@ spec:
         - name: DB_PORT
           value: "{{ default .Values.global.mariadbGalera.servicePort .Values.mariadbGalera.servicePort }}"
         - name: MYSQL_ROOT_PASSWORD
-          {{- include "common.secret.envFromSecret" (dict "global" . "uid" "root-password" "key" (default "password" .Values.global.mariadbGalera.userRootSecretKey)) | indent 10 }}
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "root-password" "key" (default "password" .Values.global.mariadbGalera.userRootSecretKey)) | indent 10 }}
         - name: {{ printf "MYSQL_USER_%s" .Values.config.mysqlDatabase | upper }}
-          {{- include "common.secret.envFromSecret" (dict "global" . "uid" .Values.config.mysqlDatabase "key" "login") | indent 10 }}
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" .Values.config.mysqlDatabase "key" "login") | indent 10 }}
         - name: {{ printf "MYSQL_PASSWORD_%s" .Values.config.mysqlDatabase | upper }}
-          {{- include "common.secret.envFromSecret" (dict "global" . "uid" .Values.config.mysqlDatabase "key" "password") | indent 10 }}
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" .Values.config.mysqlDatabase "key" "password") | indent 10 }}
 {{- $root := . }}
 {{ range $db, $_values := .Values.config.mysqlAdditionalDatabases }}
         - name: {{ printf "MYSQL_USER_%s" $db | upper }}
-          {{- include "common.secret.envFromSecret" (dict "global" $root "uid" $db "key" "login") | indent 10 }}
+          {{- include "common.secret.envFromSecretFast" (dict "global" $root "uid" $db "key" "login") | indent 10 }}
         - name: {{ printf "MYSQL_PASSWORD_%s" $db | upper }}
-          {{- include "common.secret.envFromSecret" (dict "global" $root "uid" $db "key" "password") | indent 10 }}
+          {{- include "common.secret.envFromSecretFast" (dict "global" $root "uid" $db "key" "password") | indent 10 }}
 {{ end }}
         volumeMounts:
         - mountPath: /etc/localtime
index 71a89d0..2db326f 100644 (file)
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada, 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.
 # 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 -}}
+{{ include "mariadbInit._updateSecrets" . -}}
 
-{{ $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 }}
+{{ include "common.secretFast" . }}