Loading assets/auto-deploy-app/templates/cronjob.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,14 @@ items: envFrom: - secretRef: name: {{ $.Values.application.secretName }} {{- if $jobConfig.extraEnvFrom }} {{ toYaml $jobConfig.extraEnvFrom | nindent 14 }} {{- end }} {{- else }} envFrom: {{- if $jobConfig.extraEnvFrom }} {{ toYaml $jobConfig.extraEnvFrom | nindent 14 }} {{- end }} {{- end }} env: {{- if $.Values.postgresql.managed }} Loading assets/auto-deploy-app/templates/deployment.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,14 @@ spec: envFrom: - secretRef: name: {{ .Values.application.secretName }} {{- if .Values.extraEnvFrom }} {{ toYaml .Values.extraEnvFrom | indent 8 }} {{- end }} {{- else}} envFrom: {{- if .Values.extraEnvFrom }} {{ toYaml .Values.extraEnvFrom | indent 8 }} {{- end }} {{- end }} env: {{- if .Values.postgresql.managed }} Loading assets/auto-deploy-app/templates/worker-deployment.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,14 @@ items: envFrom: - secretRef: name: {{ $.Values.application.secretName }} {{- if $workerConfig.extraEnvFrom }} {{ toYaml $workerConfig.extraEnvFrom | indent 10 }} {{- end }} {{- else }} envFrom: {{- if $workerConfig.extraEnvFrom }} {{ toYaml $workerConfig.extraEnvFrom | indent 10 }} {{- end }} {{- end }} env: {{- if $.Values.application.database_url }} Loading assets/auto-deploy-app/test/templates/cronjob_test.go +78 −3 Original line number Diff line number Diff line Loading @@ -726,3 +726,78 @@ func TestCronjobAffinity(t *testing.T) { }) } } func TestCronJobTemplateWithExtraEnvFrom(t *testing.T) { releaseName := "cronjob-with-extra-envfrom-test" templates := []string{"templates/cronjob.yaml"} tcs := []struct { name string values map[string]string expectedEnvFrom coreV1.EnvFromSource }{ { name: "with extra envfrom secret test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "cronjobs.job1.extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom with secretName test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "application.secretName": "gitlab-secretname-test", "cronjobs.job1.extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom configmap test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "cronjobs.job1.extraEnvFrom[0].configMapRef.name": "configmap-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ ConfigMapRef: &coreV1.ConfigMapEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "configmap-name-test", }, }, }, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { opts := &helm.Options{ SetValues: tc.values, } output, err := helm.RenderTemplateE(t, opts, helmChartPath, releaseName, templates) if err != nil { t.Error(err) return } var cronjobs batchV1beta1.CronJobList helm.UnmarshalK8SYaml(t, output, &cronjobs) for _, cronjob := range cronjobs.Items { require.Contains(t, cronjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].EnvFrom, tc.expectedEnvFrom) } }) } } assets/auto-deploy-app/test/templates/deployment_test.go +72 −2 Original line number Diff line number Diff line Loading @@ -1120,3 +1120,73 @@ func TestDeploymentDatabaseUrlEnvironmentVariable(t *testing.T) { }) } } func TestDeploymentTemplateWithExtraEnvFrom(t *testing.T) { releaseName := "deployment-with-extra-envfrom-test" templates := []string{"templates/deployment.yaml"} tcs := []struct { name string values map[string]string expectedEnvFrom coreV1.EnvFromSource }{ { name: "with extra envfrom secret test", values: map[string]string{ "extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom with secretName test", values: map[string]string{ "application.secretName": "gitlab-secretname-test", "extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom configmap test", values: map[string]string{ "extraEnvFrom[0].configMapRef.name": "configmap-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ ConfigMapRef: &coreV1.ConfigMapEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "configmap-name-test", }, }, }, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { opts := &helm.Options{ SetValues: tc.values, } output, err := helm.RenderTemplateE(t, opts, helmChartPath, releaseName, templates) if err != nil { t.Error(err) return } deployment := new(appsV1.Deployment) helm.UnmarshalK8SYaml(t, output, deployment) require.Contains(t, deployment.Spec.Template.Spec.Containers[0].EnvFrom, tc.expectedEnvFrom) }) } } Loading
assets/auto-deploy-app/templates/cronjob.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,14 @@ items: envFrom: - secretRef: name: {{ $.Values.application.secretName }} {{- if $jobConfig.extraEnvFrom }} {{ toYaml $jobConfig.extraEnvFrom | nindent 14 }} {{- end }} {{- else }} envFrom: {{- if $jobConfig.extraEnvFrom }} {{ toYaml $jobConfig.extraEnvFrom | nindent 14 }} {{- end }} {{- end }} env: {{- if $.Values.postgresql.managed }} Loading
assets/auto-deploy-app/templates/deployment.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,14 @@ spec: envFrom: - secretRef: name: {{ .Values.application.secretName }} {{- if .Values.extraEnvFrom }} {{ toYaml .Values.extraEnvFrom | indent 8 }} {{- end }} {{- else}} envFrom: {{- if .Values.extraEnvFrom }} {{ toYaml .Values.extraEnvFrom | indent 8 }} {{- end }} {{- end }} env: {{- if .Values.postgresql.managed }} Loading
assets/auto-deploy-app/templates/worker-deployment.yaml +8 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,14 @@ items: envFrom: - secretRef: name: {{ $.Values.application.secretName }} {{- if $workerConfig.extraEnvFrom }} {{ toYaml $workerConfig.extraEnvFrom | indent 10 }} {{- end }} {{- else }} envFrom: {{- if $workerConfig.extraEnvFrom }} {{ toYaml $workerConfig.extraEnvFrom | indent 10 }} {{- end }} {{- end }} env: {{- if $.Values.application.database_url }} Loading
assets/auto-deploy-app/test/templates/cronjob_test.go +78 −3 Original line number Diff line number Diff line Loading @@ -726,3 +726,78 @@ func TestCronjobAffinity(t *testing.T) { }) } } func TestCronJobTemplateWithExtraEnvFrom(t *testing.T) { releaseName := "cronjob-with-extra-envfrom-test" templates := []string{"templates/cronjob.yaml"} tcs := []struct { name string values map[string]string expectedEnvFrom coreV1.EnvFromSource }{ { name: "with extra envfrom secret test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "cronjobs.job1.extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom with secretName test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "application.secretName": "gitlab-secretname-test", "cronjobs.job1.extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom configmap test", values: map[string]string{ "cronjobs.job1.schedule": "*/2 * * * *", "cronjobs.job1.extraEnvFrom[0].configMapRef.name": "configmap-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ ConfigMapRef: &coreV1.ConfigMapEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "configmap-name-test", }, }, }, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { opts := &helm.Options{ SetValues: tc.values, } output, err := helm.RenderTemplateE(t, opts, helmChartPath, releaseName, templates) if err != nil { t.Error(err) return } var cronjobs batchV1beta1.CronJobList helm.UnmarshalK8SYaml(t, output, &cronjobs) for _, cronjob := range cronjobs.Items { require.Contains(t, cronjob.Spec.JobTemplate.Spec.Template.Spec.Containers[0].EnvFrom, tc.expectedEnvFrom) } }) } }
assets/auto-deploy-app/test/templates/deployment_test.go +72 −2 Original line number Diff line number Diff line Loading @@ -1120,3 +1120,73 @@ func TestDeploymentDatabaseUrlEnvironmentVariable(t *testing.T) { }) } } func TestDeploymentTemplateWithExtraEnvFrom(t *testing.T) { releaseName := "deployment-with-extra-envfrom-test" templates := []string{"templates/deployment.yaml"} tcs := []struct { name string values map[string]string expectedEnvFrom coreV1.EnvFromSource }{ { name: "with extra envfrom secret test", values: map[string]string{ "extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom with secretName test", values: map[string]string{ "application.secretName": "gitlab-secretname-test", "extraEnvFrom[0].secretRef.name": "secret-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ SecretRef: &coreV1.SecretEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "secret-name-test", }, }, }, }, { name: "with extra envfrom configmap test", values: map[string]string{ "extraEnvFrom[0].configMapRef.name": "configmap-name-test", }, expectedEnvFrom: coreV1.EnvFromSource{ ConfigMapRef: &coreV1.ConfigMapEnvSource{ LocalObjectReference: coreV1.LocalObjectReference{ Name: "configmap-name-test", }, }, }, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { opts := &helm.Options{ SetValues: tc.values, } output, err := helm.RenderTemplateE(t, opts, helmChartPath, releaseName, templates) if err != nil { t.Error(err) return } deployment := new(appsV1.Deployment) helm.UnmarshalK8SYaml(t, output, deployment) require.Contains(t, deployment.Spec.Template.Spec.Containers[0].EnvFrom, tc.expectedEnvFrom) }) } }