From e69f8451c42639e4009df3f96b12dbb8774b2513 Mon Sep 17 00:00:00 2001 From: Andrew Seigner Date: Wed, 10 Jan 2024 01:42:48 +0000 Subject: [PATCH] helm: Add `experimentalEnv` settings Enable setting arbitrary environment variables on all Go-based Control Plane containers For example, via CLI: ``` --set destinationController.experimentalEnv[0].name=ENV_VAR,destinationController.experimentalEnv[0].value=ENV_VAL ``` Via values file: ``` destinationController: experimentalEnv: - name: DEST_ENV_VAR value: DEST_ENV_VAL - name: DEST_CONFIG_MAP_VAR valueFrom: configMapKeyRef: key: dest_config_map_key name: dest-config-map-name heartbeat: experimentalEnv: identity: experimentalEnv: proxyInjector: experimentalEnv: spValidator: experimentalEnv: serviceMirrorExperimentalEnv: ``` Relates to #11862 and #11874 Signed-off-by: Andrew Seigner --- charts/linkerd-control-plane/templates/destination.yaml | 8 ++++++++ charts/linkerd-control-plane/templates/heartbeat.yaml | 3 +++ charts/linkerd-control-plane/templates/identity.yaml | 3 +++ .../linkerd-control-plane/templates/proxy-injector.yaml | 4 ++++ .../templates/service-mirror.yaml | 4 ++++ 5 files changed, 22 insertions(+) diff --git a/charts/linkerd-control-plane/templates/destination.yaml b/charts/linkerd-control-plane/templates/destination.yaml index d48a81a5cb1f5..5be29aed328a9 100644 --- a/charts/linkerd-control-plane/templates/destination.yaml +++ b/charts/linkerd-control-plane/templates/destination.yaml @@ -208,6 +208,10 @@ spec: {{- range (.Values.destinationController).experimentalArgs }} - {{ . }} {{- end }} + {{- with (.Values.destinationController).experimentalEnv }} + env: + {{- toYaml . | nindent 8 -}} + {{- end }} {{- include "partials.linkerd.trace" . | nindent 8 -}} image: {{.Values.controllerImage}}:{{.Values.controllerImageVersion | default .Values.linkerdVersion}} imagePullPolicy: {{.Values.imagePullPolicy}} @@ -245,6 +249,10 @@ spec: - -log-level={{.Values.controllerLogLevel}} - -log-format={{.Values.controllerLogFormat}} - -enable-pprof={{.Values.enablePprof | default false}} + {{- with (.Values.spValidator).experimentalEnv }} + env: + {{- toYaml . | nindent 8 -}} + {{- end }} image: {{.Values.controllerImage}}:{{.Values.controllerImageVersion | default .Values.linkerdVersion}} imagePullPolicy: {{.Values.imagePullPolicy}} livenessProbe: diff --git a/charts/linkerd-control-plane/templates/heartbeat.yaml b/charts/linkerd-control-plane/templates/heartbeat.yaml index aa43874fb19d4..8b3d1e1b91a95 100644 --- a/charts/linkerd-control-plane/templates/heartbeat.yaml +++ b/charts/linkerd-control-plane/templates/heartbeat.yaml @@ -59,6 +59,9 @@ spec: env: - name: LINKERD_DISABLED value: "the heartbeat controller does not use the proxy" + {{- with (.Values.heartbeat).experimentalEnv }} + {{- toYaml . | nindent 12 -}} + {{- end }} args: - "heartbeat" - "-controller-namespace={{.Release.Namespace}}" diff --git a/charts/linkerd-control-plane/templates/identity.yaml b/charts/linkerd-control-plane/templates/identity.yaml index 206a85d2965b9..ae375f200b3e5 100644 --- a/charts/linkerd-control-plane/templates/identity.yaml +++ b/charts/linkerd-control-plane/templates/identity.yaml @@ -165,6 +165,9 @@ spec: env: - name: LINKERD_DISABLED value: "linkerd-await cannot block the identity controller" + {{- with (.Values.identity).experimentalEnv }} + {{- toYaml . | nindent 8 -}} + {{- end }} image: {{.Values.controllerImage}}:{{.Values.controllerImageVersion | default .Values.linkerdVersion}} imagePullPolicy: {{.Values.imagePullPolicy}} livenessProbe: diff --git a/charts/linkerd-control-plane/templates/proxy-injector.yaml b/charts/linkerd-control-plane/templates/proxy-injector.yaml index 4fd044d65ccea..8837af9bd283a 100644 --- a/charts/linkerd-control-plane/templates/proxy-injector.yaml +++ b/charts/linkerd-control-plane/templates/proxy-injector.yaml @@ -79,6 +79,10 @@ spec: - -log-format={{.Values.controllerLogFormat}} - -linkerd-namespace={{.Release.Namespace}} - -enable-pprof={{.Values.enablePprof | default false}} + {{- with (.Values.proxyInjector).experimentalEnv }} + env: + {{- toYaml . | nindent 8 -}} + {{- end }} image: {{.Values.controllerImage}}:{{.Values.controllerImageVersion | default .Values.linkerdVersion}} imagePullPolicy: {{.Values.imagePullPolicy}} livenessProbe: diff --git a/multicluster/charts/linkerd-multicluster-link/templates/service-mirror.yaml b/multicluster/charts/linkerd-multicluster-link/templates/service-mirror.yaml index 626f79286f55c..55b4a5564d868 100644 --- a/multicluster/charts/linkerd-multicluster-link/templates/service-mirror.yaml +++ b/multicluster/charts/linkerd-multicluster-link/templates/service-mirror.yaml @@ -139,6 +139,10 @@ spec: {{- end }} - -enable-pprof={{.Values.enablePprof | default false}} - {{.Values.targetClusterName}} + {{- with .Values.serviceMirrorExperimentalEnv }} + env: + {{- toYaml . | nindent 8 -}} + {{- end }} image: {{.Values.controllerImage}}:{{.Values.controllerImageVersion}} name: service-mirror securityContext: