From 8720c33db48bccf754007f9199ec4973b160f84a Mon Sep 17 00:00:00 2001 From: Youcef Guichi Date: Thu, 19 Oct 2023 11:33:48 +0200 Subject: [PATCH] Added ability to refrence an env from an existing configMaps and secrets --- charts/common/templates/_envFromRef.yaml | 21 +++++++++++++++++- charts/cron-job/charts/common-0.3.1.tgz | Bin 2099 -> 2150 bytes charts/onechart/charts/common-0.3.1.tgz | Bin 2099 -> 2150 bytes charts/onechart/templates/deployment.yaml | 2 +- .../tests/deployment_configmap_test.yaml | 18 +++++++++++++-- .../tests/deployment_secret_test.yaml | 18 +++++++++++++++ 6 files changed, 55 insertions(+), 4 deletions(-) diff --git a/charts/common/templates/_envFromRef.yaml b/charts/common/templates/_envFromRef.yaml index 57eb3c9..d7cc7cf 100644 --- a/charts/common/templates/_envFromRef.yaml +++ b/charts/common/templates/_envFromRef.yaml @@ -1,21 +1,40 @@ {{- define "common.envFromRef.tpl" -}} -{{- if or (or (or (.Values.vars) (.Values.secretEnabled)) .Values.sealedSecrets) .Values.secretName -}} +{{- if or (or (or (.Values.vars) (.Values.secretEnabled) (.Values.envFrom)) .Values.sealedSecrets) .Values.secretName -}} envFrom: &envFrom {{- if .Values.vars }} - configMapRef: name: {{ template "common.robustName" .Release.Name }} {{- end }} +{{- if .Values.envFrom }} + +{{- range .Values.envFrom.existingSecrets }} + - secretRef: + name: {{ .name }} + optional: {{ .optional }} +{{- end }} + +{{- range .Values.envFrom.existingConfigMaps }} + - configMapRef: + name: {{ .name }} + optional: {{ .optional }} +{{- end }} +{{- end }} + {{- if .Values.secretEnabled }} - secretRef: name: {{ include "common.robustName" $.Release.Name }} {{- end }} + + {{- if .Values.secretName }} - secretRef: name: {{ .Values.secretName }} {{- end }} + {{- if .Values.sealedSecrets }} - secretRef: name: {{ template "common.robustName" .Release.Name }} {{- end }} + {{- end }} {{- end }} \ No newline at end of file diff --git a/charts/cron-job/charts/common-0.3.1.tgz b/charts/cron-job/charts/common-0.3.1.tgz index 5fb517dc5914c10903f03490ed3d7ee0132ff349..854f9c0b433aef98df37246cc574e01a354548f5 100644 GIT binary patch delta 2113 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 diff --git a/charts/onechart/charts/common-0.3.1.tgz b/charts/onechart/charts/common-0.3.1.tgz index 5fb517dc5914c10903f03490ed3d7ee0132ff349..264c4c041ba8f20110145cd9232b48234b63f183 100644 GIT binary patch delta 2113 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 diff --git a/charts/onechart/templates/deployment.yaml b/charts/onechart/templates/deployment.yaml index 6a73480..a733250 100644 --- a/charts/onechart/templates/deployment.yaml +++ b/charts/onechart/templates/deployment.yaml @@ -138,7 +138,7 @@ spec: - -c - {{ .Values.sidecar.command | quote }} {{- end }} - {{- if or (or (.Values.vars) (.Values.secretEnabled)) .Values.sealedSecrets }} + {{- if or (or (.Values.vars) (.Values.secretEnabled) (.Values.envFrom)) .Values.sealedSecrets }} envFrom: *envFrom {{- end }} {{- if or (or (.Values.volumes) (.Values.sealedFileSecrets)) .Values.fileSecrets }} diff --git a/charts/onechart/tests/deployment_configmap_test.yaml b/charts/onechart/tests/deployment_configmap_test.yaml index 0869615..8c29ccc 100644 --- a/charts/onechart/tests/deployment_configmap_test.yaml +++ b/charts/onechart/tests/deployment_configmap_test.yaml @@ -14,7 +14,21 @@ tests: content: configMapRef: name: release-name - - it: Should not reference configmap if vars are not set + - it: Should reference to existing configmaps + set: + envFrom: + existingConfigMaps: + - name: firstcm + optional: true + - name: secondcm + optional: true asserts: - - isNull: + - contains: path: spec.template.spec.containers[0].envFrom + content: + configMapRef: + name: firstcm + optional: true + configMapRef: + name: secondcm + optional: true diff --git a/charts/onechart/tests/deployment_secret_test.yaml b/charts/onechart/tests/deployment_secret_test.yaml index 5dfc580..4414e3a 100644 --- a/charts/onechart/tests/deployment_secret_test.yaml +++ b/charts/onechart/tests/deployment_secret_test.yaml @@ -31,3 +31,21 @@ tests: content: secretRef: name: release-name + - it: Should reference to existing secrets + set: + envFrom: + existingSecrets: + - name: firstsecret + optional: true + - name: secondsecret + optional: true + asserts: + - contains: + path: spec.template.spec.containers[0].envFrom + content: + secretRef: + name: firstsecret + optional: true + secretRef: + name: secondsecret + optional: true