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/cli/cmd/install.go b/cli/cmd/install.go index 1b4a2670d5cdf..4f968015e8f98 100644 --- a/cli/cmd/install.go +++ b/cli/cmd/install.go @@ -59,7 +59,7 @@ var ( "templates/workload/external-workload.yaml", } - templatesControlPlane = []string{ + TemplatesControlPlane = []string{ "templates/namespace.yaml", "templates/identity-rbac.yaml", "templates/destination-rbac.yaml", @@ -365,7 +365,7 @@ func renderControlPlane(w io.Writer, values *l5dcharts.Values, valuesOverrides m files := []*loader.BufferedFile{ {Name: chartutil.ChartfileName}, } - for _, template := range templatesControlPlane { + for _, template := range TemplatesControlPlane { files = append(files, &loader.BufferedFile{Name: template}) } if err := charts.FilesReader(static.Templates, l5dcharts.HelmChartDirCP+"/", files); err != nil { diff --git a/cli/cmd/install_helm_test.go b/cli/cmd/install_helm_test.go index d0a796f0349f4..c13dc08f3ac40 100644 --- a/cli/cmd/install_helm_test.go +++ b/cli/cmd/install_helm_test.go @@ -287,7 +287,7 @@ func chartControlPlane(t *testing.T, ha bool, additionalConfig string, ignoreOut linkerd2Chart.AddDependency(chartPartials) - for _, filepath := range templatesControlPlane { + for _, filepath := range TemplatesControlPlane { linkerd2Chart.Templates = append(linkerd2Chart.Templates, &chart.File{ Name: filepath, }) 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: diff --git a/multicluster/cmd/install.go b/multicluster/cmd/install.go index cd7fdd3fa0d81..3ca596d2252ab 100644 --- a/multicluster/cmd/install.go +++ b/multicluster/cmd/install.go @@ -34,6 +34,18 @@ type ( } ) +var TemplatesMulticluster = []string{ + chartutil.ChartfileName, + chartutil.ValuesfileName, + "templates/namespace.yaml", + "templates/gateway.yaml", + "templates/gateway-policy.yaml", + "templates/psp.yaml", + "templates/remote-access-service-mirror-rbac.yaml", + "templates/link-crd.yaml", + "templates/service-mirror-policy.yaml", +} + func newMulticlusterInstallCommand() *cobra.Command { options, err := newMulticlusterInstallOptionsWithDefault() var ha bool @@ -129,16 +141,9 @@ func install(ctx context.Context, w io.Writer, options *multiclusterInstallOptio } func render(w io.Writer, values *multicluster.Values, valuesOverrides map[string]interface{}) error { - files := []*loader.BufferedFile{ - {Name: chartutil.ChartfileName}, - {Name: chartutil.ValuesfileName}, - {Name: "templates/namespace.yaml"}, - {Name: "templates/gateway.yaml"}, - {Name: "templates/gateway-policy.yaml"}, - {Name: "templates/psp.yaml"}, - {Name: "templates/remote-access-service-mirror-rbac.yaml"}, - {Name: "templates/link-crd.yaml"}, - {Name: "templates/service-mirror-policy.yaml"}, + var files []*loader.BufferedFile + for _, template := range TemplatesMulticluster { + files = append(files, &loader.BufferedFile{Name: template}) } var partialFiles []*loader.BufferedFile