diff --git a/manifests/bootstrap-pod-v2.yaml b/manifests/bootstrap-pod-v2.yaml index 5f06b93e85..ba3c55fcf2 100644 --- a/manifests/bootstrap-pod-v2.yaml +++ b/manifests/bootstrap-pod-v2.yaml @@ -24,6 +24,21 @@ spec: privileged: true readOnlyRootFilesystem: false terminationMessagePolicy: FallbackToLogsOnError + {{if .ControllerConfig.Proxy}} + env: + {{if .ControllerConfig.Proxy.HTTPProxy}} + - name: HTTP_PROXY + value: {{.ControllerConfig.Proxy.HTTPProxy}} + {{end}} + {{if .ControllerConfig.Proxy.HTTPSProxy}} + - name: HTTPS_PROXY + value: {{.ControllerConfig.Proxy.HTTPSProxy}} + {{end}} + {{if .ControllerConfig.Proxy.NoProxy}} + - name: NO_PROXY + value: "{{.ControllerConfig.Proxy.NoProxy}}" + {{end}} + {{end}} volumeMounts: - name: bootstrap-manifests mountPath: /etc/mcc/bootstrap diff --git a/pkg/operator/render_test.go b/pkg/operator/render_test.go index 4602089634..8fa55d1892 100644 --- a/pkg/operator/render_test.go +++ b/pkg/operator/render_test.go @@ -321,6 +321,29 @@ func TestRenderAsset(t *testing.T) { "--payload-version=4.8.0-rc.0", }, }, + { + // Test that bootstrap MCC pod is rendered correctly with proxy config + Path: "manifests/bootstrap-pod-v2.yaml", + RenderConfig: &renderConfig{ + TargetNamespace: "testing-namespace", + ReleaseVersion: "4.8.0-rc.0", + Images: &ctrlcommon.RenderConfigImages{ + MachineConfigOperator: "mco-operator-image", + }, + ControllerConfig: mcfgv1.ControllerConfigSpec{ + Proxy: &configv1.ProxyStatus{ + HTTPSProxy: "https://i.am.a.proxy.server", + NoProxy: ".cluster.local", + }, + }, + }, + FindExpected: []string{ + "image: mco-operator-image", + "- name: HTTPS_PROXY\n value: https://i.am.a.proxy.server", + "- name: NO_PROXY\n value: \".cluster.local\"", + "--payload-version=4.8.0-rc.0", + }, + }, } for idx, test := range tests {