From 0152dcd47dca4b86b2fa2f486be2640a7775e883 Mon Sep 17 00:00:00 2001 From: Loic Winkopp Date: Thu, 25 Jan 2024 14:20:19 +0100 Subject: [PATCH 1/2] icinga-stack: extraEnvVars value for icinga2 --- charts/icinga-stack/charts/icinga2/templates/statefulset.yaml | 1 + charts/icinga-stack/charts/icinga2/values.yaml | 4 +++- charts/icinga-stack/values.yaml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml index fca0333..7782a97 100644 --- a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml +++ b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml @@ -34,6 +34,7 @@ spec: - name: ICINGA_DISABLE_CONFD value: {{ .Values.config.disable_confd | int | quote }} {{- include "icinga2.envSecrets" . | nindent 12 }} + {{- toYaml .Values.extraEnvVars | nindent 12 }} 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/values.yaml b/charts/icinga-stack/values.yaml index aa92a22..e7d57ff 100644 --- a/charts/icinga-stack/values.yaml +++ b/charts/icinga-stack/values.yaml @@ -492,6 +492,8 @@ icingaweb2: # runAsNonRoot: true # runAsUser: 1000 + extraEnvVars: [] + global: api: # host: # only needed if Icinga2 runs out of cluster From aa295a836d9e9c2f3035f511bc93ab2b440c5e5a Mon Sep 17 00:00:00 2001 From: Loic Winkopp Date: Mon, 5 Feb 2024 13:16:37 +0100 Subject: [PATCH 2/2] extraEnvVars for icingadb and tests --- .../charts/icinga2/templates/statefulset.yaml | 2 ++ .../charts/icingadb/templates/deployment.yaml | 3 +++ .../icinga-stack/charts/icingadb/values.yaml | 2 ++ .../tests/icinga2_statefulset_test.yaml | 27 +++++++++++++++++++ .../tests/icingadb_deployment_test.yaml | 24 +++++++++++++++++ charts/icinga-stack/values.yaml | 2 ++ 6 files changed, 60 insertions(+) diff --git a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml index 7782a97..b34db6f 100644 --- a/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml +++ b/charts/icinga-stack/charts/icinga2/templates/statefulset.yaml @@ -34,7 +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/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 e7d57ff..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