Skip to content

Commit 6ba9ad5

Browse files
Merge pull request #213 from EcovadisCode/netChartEnvFromSecret
Added possibility to specify custom secret name to be passed
2 parents b1b096a + 02fba4c commit 6ba9ad5

4 files changed

Lines changed: 93 additions & 2 deletions

File tree

charts/dotnet-core/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
description: EcoVadis Helm chart for .Net Core app
33
name: charts-dotnet-core
44
type: application
5-
version: 4.9.0
5+
version: 4.10.0
66
dependencies:
77
- name: charts-core
88
version: "2.8.0"

charts/dotnet-core/templates/deployment.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ spec:
173173
{{- end }}
174174
{{- end }}
175175

176-
{{- if or .Values.global.envVarsEnabled .Values.global.secEnvVarsEnabled }}
176+
{{- if or .Values.global.envVarsEnabled .Values.global.secEnvVarsEnabled .Values.global.extraEnvFrom }}
177177
envFrom:
178178
{{- if .Values.global.envVarsEnabled }}
179179
- configMapRef:
@@ -183,6 +183,9 @@ spec:
183183
- secretRef:
184184
name: "{{ include "charts-dotnet-core.fullname" . }}-secure"
185185
{{- end }}
186+
{{- if .Values.global.extraEnvFrom }}
187+
{{- toYaml .Values.global.extraEnvFrom | nindent 12 }}
188+
{{- end }}
186189
{{- end }}
187190
env:
188191
- name: POD_NAME

charts/dotnet-core/templates/tests/deployment_test.py

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -648,6 +648,88 @@ def test_topology_spread_constraint_overwritten(self):
648648
],
649649
jmespath.search("spec.template.spec.topologySpreadConstraints", docs[0]))
650650

651+
def test_should_add_extra_env_from_with_secret_ref(self):
652+
docs = render_chart(
653+
values={
654+
"global": {
655+
"envVarsEnabled": False,
656+
"secEnvVarsEnabled": False,
657+
"extraEnvFrom": [
658+
{
659+
"secretRef": {
660+
"name": "my-existing-secret"
661+
}
662+
}
663+
]
664+
}
665+
},
666+
name=".",
667+
show_only=["templates/deployment.yaml"]
668+
)
669+
self.assertEqual(
670+
"my-existing-secret",
671+
jmespath.search(
672+
"spec.template.spec.containers[0].envFrom[0].secretRef.name", docs[0])
673+
)
674+
675+
def test_should_add_extra_env_from_with_config_map_ref(self):
676+
docs = render_chart(
677+
values={
678+
"global": {
679+
"envVarsEnabled": False,
680+
"secEnvVarsEnabled": False,
681+
"extraEnvFrom": [
682+
{
683+
"configMapRef": {
684+
"name": "my-existing-configmap"
685+
}
686+
}
687+
]
688+
}
689+
},
690+
name=".",
691+
show_only=["templates/deployment.yaml"]
692+
)
693+
self.assertEqual(
694+
"my-existing-configmap",
695+
jmespath.search(
696+
"spec.template.spec.containers[0].envFrom[0].configMapRef.name", docs[0])
697+
)
698+
699+
def test_should_add_extra_env_from_alongside_existing_refs(self):
700+
docs = render_chart(
701+
values={
702+
"global": {
703+
"envVarsEnabled": True,
704+
"secEnvVarsEnabled": True,
705+
"extraEnvFrom": [
706+
{
707+
"secretRef": {
708+
"name": "my-existing-secret"
709+
}
710+
}
711+
]
712+
}
713+
},
714+
name=".",
715+
show_only=["templates/deployment.yaml"]
716+
)
717+
self.assertEqual(
718+
"RELEASE-NAME-charts-dotnet-core",
719+
jmespath.search(
720+
"spec.template.spec.containers[0].envFrom[0].configMapRef.name", docs[0])
721+
)
722+
self.assertEqual(
723+
"RELEASE-NAME-charts-dotnet-core-secure",
724+
jmespath.search(
725+
"spec.template.spec.containers[0].envFrom[1].secretRef.name", docs[0])
726+
)
727+
self.assertEqual(
728+
"my-existing-secret",
729+
jmespath.search(
730+
"spec.template.spec.containers[0].envFrom[2].secretRef.name", docs[0])
731+
)
732+
651733
def test_fileshare_mount(self):
652734

653735
share_name = "files"

charts/dotnet-core/values.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@ global:
169169
secEnvVarsEnabled: true
170170
secEnvVars: {}
171171

172+
extraEnvFrom: []
173+
# - secretRef:
174+
# name: my-existing-secret
175+
# - configMapRef:
176+
# name: my-existing-configmap
177+
172178
appConfigFilesEnabled: true
173179
appConfigFiles:
174180
globPattern: "**.json"

0 commit comments

Comments
 (0)