diff --git a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml index fca0333..b34db6f 100644 --- a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml +++ b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml @@ -34,6 +34,9 @@ spec: - name: ICINGA_DISABLE_CONFD value: {{ .Values.config.disable_confd | int | quote }} {{- include "icinga2.envSecrets" . | nindent 12 }} + {{- if .Values.extraEnvVars }} + {{- toYaml .Values.extraEnvVars | nindent 12 }} + {{- end }} ports: - name: api containerPort: {{ .Values.service.port }} diff --git a/charts/icinga-stack/charts/icinga2/values.yaml b/charts/icinga-stack/charts/icinga2/values.yaml index ab6e05b..efcb22c 100644 --- a/charts/icinga-stack/charts/icinga2/values.yaml +++ b/charts/icinga-stack/charts/icinga2/values.yaml @@ -309,4 +309,6 @@ securityContext: {} # - ALL # readOnlyRootFilesystem: true # runAsNonRoot: true - # runAsUser: 1000 \ No newline at end of file + # runAsUser: 1000 + +extraEnvVars: [] diff --git a/charts/icinga-stack/charts/icingadb/templates/deployment.yaml b/charts/icinga-stack/charts/icingadb/templates/deployment.yaml index 5b49fdd..92a9aad 100644 --- a/charts/icinga-stack/charts/icingadb/templates/deployment.yaml +++ b/charts/icinga-stack/charts/icingadb/templates/deployment.yaml @@ -63,6 +63,9 @@ spec: {{- end }} - name: ICINGADB_DATABASE_DATABASE value: {{ .Values.global.databases.icingadb.database | default "mysql" | quote }} + {{- if .Values.extraEnvVars }} + {{- toYaml .Values.extraEnvVars | nindent 12 }} + {{- end }} resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} diff --git a/charts/icinga-stack/charts/icingadb/values.yaml b/charts/icinga-stack/charts/icingadb/values.yaml index d66dd49..1341413 100644 --- a/charts/icinga-stack/charts/icingadb/values.yaml +++ b/charts/icinga-stack/charts/icingadb/values.yaml @@ -50,3 +50,5 @@ securityContext: {} # readOnlyRootFilesystem: true # runAsNonRoot: true # runAsUser: 1000 + +extraEnvVars: [] diff --git a/charts/icinga-stack/tests/icinga2_statefulset_test.yaml b/charts/icinga-stack/tests/icinga2_statefulset_test.yaml index 0303b91..3f33f01 100644 --- a/charts/icinga-stack/tests/icinga2_statefulset_test.yaml +++ b/charts/icinga-stack/tests/icinga2_statefulset_test.yaml @@ -891,3 +891,30 @@ tests: path: "cert.crt" - key: "influxdb-key-key" path: "cert.key" + + - it: deploys an Icinga2 StatefulSet with extra environment variables + values: + - required_values.yaml + set: + icinga2: + config: + ticket_salt: + value: "insecuresalt" + extraEnvVars: + - name: ENV_VAR_1 + value: env_var_1 + - name: ENV_VAR_2 + value: env_var_2 + release: + name: my-icinga + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ENV_VAR_1 + value: env_var_1 + - contains: + path: spec.template.spec.containers[0].env + content: + name: ENV_VAR_2 + value: env_var_2 diff --git a/charts/icinga-stack/tests/icingadb_deployment_test.yaml b/charts/icinga-stack/tests/icingadb_deployment_test.yaml index 66981eb..1f7610c 100644 --- a/charts/icinga-stack/tests/icingadb_deployment_test.yaml +++ b/charts/icinga-stack/tests/icingadb_deployment_test.yaml @@ -66,3 +66,27 @@ tests: secretKeyRef: name: database-icingadb key: password + + - it: deploys an IcingaDB deployment with extra environment variables + values: + - required_values.yaml + set: + icingadb: + extraEnvVars: + - name: ENV_VAR_1 + value: env_var_1 + - name: ENV_VAR_2 + value: env_var_2 + release: + name: my-icinga + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: ENV_VAR_1 + value: env_var_1 + - contains: + path: spec.template.spec.containers[0].env + content: + name: ENV_VAR_2 + value: env_var_2 diff --git a/charts/icinga-stack/values.yaml b/charts/icinga-stack/values.yaml index aa92a22..ce074b6 100644 --- a/charts/icinga-stack/values.yaml +++ b/charts/icinga-stack/values.yaml @@ -358,6 +358,8 @@ icingadb: # runAsNonRoot: true # runAsUser: 1000 + extraEnvVars: [] + icingaweb2: enabled: true @@ -492,6 +494,8 @@ icingaweb2: # runAsNonRoot: true # runAsUser: 1000 + extraEnvVars: [] + global: api: # host: # only needed if Icinga2 runs out of cluster