diff --git a/config/enterprise_versions.yml b/config/enterprise_versions.yml index 6cf7dcab49..5aace63256 100644 --- a/config/enterprise_versions.yml +++ b/config/enterprise_versions.yml @@ -6,9 +6,6 @@ components: manager: image: manager version: master - voltron: - image: voltron - version: master calico: image: calico version: master @@ -24,15 +21,6 @@ components: fluentd-windows: image: fluentd-windows version: master - ui-apis: - image: ui-apis - version: master - linseed: - image: linseed - version: master - es-gateway: - image: es-gateway - version: master dex: image: dex version: master @@ -57,39 +45,12 @@ components: intrusion-detection-controller: image: intrusion-detection-controller version: master - waf-http-filter: - image: waf-http-filter - version: master - webhooks-processor: - image: webhooks-processor - version: master - compliance-controller: - image: compliance-controller - version: master - compliance-reporter: - image: compliance-reporter - version: master - compliance-snapshotter: - image: compliance-snapshotter - version: master - compliance-server: - image: compliance-server - version: master compliance-benchmarker: image: compliance-benchmarker version: master tigera-cni-windows: image: cni-windows version: master - elasticsearch-metrics: - image: elasticsearch-metrics - version: master - packetcapture: - image: packetcapture - version: master - policy-recommendation: - image: policy-recommendation - version: master # coreos-prometheus holds the version of prometheus built for tigera/prometheus, # which prometheus operator uses to validate. coreos-prometheus: @@ -104,9 +65,6 @@ components: alertmanager: image: alertmanager version: master - tigera-prometheus-service: - image: prometheus-service - version: master deep-packet-inspection: image: deep-packet-inspection version: master @@ -117,9 +75,6 @@ components: # Elasticsearch eck-elasticsearch-operator: version: 2.16.0 - l7-collector: - image: l7-collector - version: master gateway-l7-collector: image: gateway-l7-collector version: master @@ -129,12 +84,6 @@ components: dikastes: image: dikastes version: master - queryserver: - image: queryserver - version: master - l7-admission-controller: - image: l7-admission-controller - version: master egress-gateway: image: egress-gateway version: master diff --git a/hack/gen-versions/enterprise.go.tpl b/hack/gen-versions/enterprise.go.tpl index eda01ab884..7ed9089073 100644 --- a/hack/gen-versions/enterprise.go.tpl +++ b/hack/gen-versions/enterprise.go.tpl @@ -37,42 +37,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "compliance-controller" }} - ComponentComplianceController = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "compliance-reporter" }} - ComponentComplianceReporter = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "compliance-server" }} - ComponentComplianceServer = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "compliance-snapshotter" }} - ComponentComplianceSnapshotter = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "deep-packet-inspection" }} ComponentDeepPacketInspection = Component{ Version: "{{ .Version }}", @@ -127,33 +91,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "ui-apis" }} - ComponentUIAPIs = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "es-gateway" }} - ComponentESGateway = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "linseed" }} - ComponentLinseed = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with .Components.fluentd }} ComponentFluentd = Component{ Version: "{{ .Version }}", @@ -181,24 +118,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "waf-http-filter" }} - ComponentWAFHTTPFilter = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "webhooks-processor" }} - ComponentSecurityEventWebhooksProcessor = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with .Components.kibana }} ComponentKibana = Component{ Version: "{{ .Version }}", @@ -226,33 +145,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with .Components.voltron }} - ComponentManagerProxy = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "packetcapture" }} - ComponentPacketCapture = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "policy-recommendation" }} - ComponentPolicyRecommendation = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "egress-gateway" }} ComponentEgressGateway = Component{ Version: "{{ .Version }}", @@ -262,15 +154,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "l7-collector" }} - ComponentL7Collector = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "gateway-l7-collector" }} ComponentGatewayL7Collector = Component{ Version: "{{ .Version }}", @@ -297,24 +180,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "queryserver" }} - ComponentQueryServer = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} -{{ with index .Components "l7-admission-controller" }} - ComponentL7AdmissionController = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "coreos-prometheus" }} ComponentCoreOSPrometheus = Component{ Version: "{{ .Version }}", @@ -330,15 +195,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "tigera-prometheus-service" }} - ComponentTigeraPrometheusService = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "coreos-alertmanager" }} ComponentCoreOSAlertmanager = Component{ Version: "{{ .Version }}", @@ -381,15 +237,6 @@ var ( variant: enterpriseVariant, } {{- end }} -{{ with index .Components "elasticsearch-metrics" }} - ComponentElasticsearchMetrics = Component{ - Version: "{{ .Version }}", - Image: "{{ .Image }}", - Registry: "{{ .Registry }}", - imagePath: "{{ .ImagePath }}", - variant: enterpriseVariant, - } -{{- end }} {{ with index .Components "gateway-api-envoy-gateway" }} ComponentGatewayAPIEnvoyGateway = Component{ Version: "{{ .Version }}", @@ -455,42 +302,25 @@ var ( EnterpriseImages = []Component{ ComponentTigeraCalico, ComponentComplianceBenchmarker, - ComponentComplianceController, - ComponentComplianceReporter, - ComponentComplianceServer, - ComponentComplianceSnapshotter, ComponentDeepPacketInspection, ComponentElasticTseeInstaller, ComponentElasticsearch, ComponentElasticsearchOperator, - ComponentUIAPIs, ComponentFluentd, ComponentFluentdWindows, ComponentIntrusionDetectionController, - ComponentWAFHTTPFilter, - ComponentSecurityEventWebhooksProcessor, ComponentKibana, ComponentManager, ComponentDex, - ComponentManagerProxy, - ComponentPacketCapture, - ComponentPolicyRecommendation, ComponentEgressGateway, - ComponentL7Collector, ComponentGatewayL7Collector, ComponentEnvoyProxy, ComponentDikastes, - ComponentQueryServer, ComponentPrometheus, - ComponentTigeraPrometheusService, ComponentPrometheusAlertmanager, ComponentTigeraNode, ComponentTigeraNodeWindows, ComponentTigeraCNIWindows, - ComponentElasticsearchMetrics, - ComponentESGateway, - ComponentLinseed, - ComponentL7AdmissionController, ComponentGatewayAPIEnvoyGateway, ComponentGatewayAPIEnvoyProxy, ComponentGatewayAPIEnvoyRatelimit, diff --git a/pkg/components/enterprise.go b/pkg/components/enterprise.go index 0ff97f0b54..956caf058a 100644 --- a/pkg/components/enterprise.go +++ b/pkg/components/enterprise.go @@ -18,10 +18,10 @@ package components var ( - EnterpriseRelease string = "master" + EnterpriseRelease string = "test-build" ComponentTigeraCalico = Component{ - Version: "master", + Version: "test-build", Image: "calico", Registry: "", imagePath: "", @@ -29,47 +29,15 @@ var ( } ComponentComplianceBenchmarker = Component{ - Version: "master", + Version: "test-build", Image: "compliance-benchmarker", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentComplianceController = Component{ - Version: "master", - Image: "compliance-controller", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentComplianceReporter = Component{ - Version: "master", - Image: "compliance-reporter", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentComplianceServer = Component{ - Version: "master", - Image: "compliance-server", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentComplianceSnapshotter = Component{ - Version: "master", - Image: "compliance-snapshotter", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentDeepPacketInspection = Component{ - Version: "master", + Version: "test-build", Image: "deep-packet-inspection", Registry: "", imagePath: "", @@ -77,17 +45,17 @@ var ( } ComponentEckElasticsearch = Component{ - Version: "8.19.10", + Version: "8.19.12", variant: enterpriseVariant, } ComponentEckKibana = Component{ - Version: "8.19.10", + Version: "8.19.12", variant: enterpriseVariant, } ComponentElasticTseeInstaller = Component{ - Version: "master", + Version: "test-build", Image: "intrusion-detection-job-installer", Registry: "", imagePath: "", @@ -95,7 +63,7 @@ var ( } ComponentElasticsearch = Component{ - Version: "master", + Version: "test-build", Image: "elasticsearch", Registry: "", imagePath: "", @@ -103,44 +71,20 @@ var ( } ComponentECKElasticsearchOperator = Component{ - Version: "2.16.0", + Version: "3.3.2", variant: enterpriseVariant, } ComponentElasticsearchOperator = Component{ - Version: "master", + Version: "test-build", Image: "eck-operator", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentUIAPIs = Component{ - Version: "master", - Image: "ui-apis", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentESGateway = Component{ - Version: "master", - Image: "es-gateway", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentLinseed = Component{ - Version: "master", - Image: "linseed", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentFluentd = Component{ - Version: "master", + Version: "test-build", Image: "fluentd", Registry: "", imagePath: "", @@ -148,7 +92,7 @@ var ( } ComponentFluentdWindows = Component{ - Version: "master", + Version: "test-build", Image: "fluentd-windows", Registry: "", imagePath: "", @@ -156,31 +100,15 @@ var ( } ComponentIntrusionDetectionController = Component{ - Version: "master", + Version: "test-build", Image: "intrusion-detection-controller", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentWAFHTTPFilter = Component{ - Version: "master", - Image: "waf-http-filter", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentSecurityEventWebhooksProcessor = Component{ - Version: "master", - Image: "webhooks-processor", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentKibana = Component{ - Version: "master", + Version: "test-build", Image: "kibana", Registry: "", imagePath: "", @@ -188,7 +116,7 @@ var ( } ComponentManager = Component{ - Version: "master", + Version: "test-build", Image: "manager", Registry: "", imagePath: "", @@ -196,62 +124,30 @@ var ( } ComponentDex = Component{ - Version: "master", + Version: "test-build", Image: "dex", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentManagerProxy = Component{ - Version: "master", - Image: "voltron", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentPacketCapture = Component{ - Version: "master", - Image: "packetcapture", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentPolicyRecommendation = Component{ - Version: "master", - Image: "policy-recommendation", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentEgressGateway = Component{ - Version: "master", + Version: "test-build", Image: "egress-gateway", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentL7Collector = Component{ - Version: "master", - Image: "l7-collector", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentGatewayL7Collector = Component{ - Version: "master", + Version: "test-build", Image: "gateway-l7-collector", Registry: "", variant: enterpriseVariant, } ComponentEnvoyProxy = Component{ - Version: "master", + Version: "test-build", Image: "envoy", Registry: "", imagePath: "", @@ -259,57 +155,33 @@ var ( } ComponentDikastes = Component{ - Version: "master", + Version: "test-build", Image: "dikastes", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentQueryServer = Component{ - Version: "master", - Image: "queryserver", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - - ComponentL7AdmissionController = Component{ - Version: "master", - Image: "l7-admission-controller", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentCoreOSPrometheus = Component{ Version: "v3.9.1", variant: enterpriseVariant, } ComponentPrometheus = Component{ - Version: "master", + Version: "test-build", Image: "prometheus", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentTigeraPrometheusService = Component{ - Version: "master", - Image: "prometheus-service", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentCoreOSAlertmanager = Component{ Version: "v0.30.1", variant: enterpriseVariant, } ComponentPrometheusAlertmanager = Component{ - Version: "master", + Version: "test-build", Image: "alertmanager", Registry: "", imagePath: "", @@ -317,7 +189,7 @@ var ( } ComponentTigeraNode = Component{ - Version: "master", + Version: "test-build", Image: "node", Registry: "", imagePath: "", @@ -325,7 +197,7 @@ var ( } ComponentTigeraNodeWindows = Component{ - Version: "master", + Version: "test-build", Image: "node-windows", Registry: "", imagePath: "", @@ -333,23 +205,15 @@ var ( } ComponentTigeraCNIWindows = Component{ - Version: "master", + Version: "test-build", Image: "cni-windows", Registry: "", imagePath: "", variant: enterpriseVariant, } - ComponentElasticsearchMetrics = Component{ - Version: "master", - Image: "elasticsearch-metrics", - Registry: "", - imagePath: "", - variant: enterpriseVariant, - } - ComponentGatewayAPIEnvoyGateway = Component{ - Version: "master", + Version: "test-build", Image: "envoy-gateway", Registry: "", imagePath: "", @@ -357,7 +221,7 @@ var ( } ComponentGatewayAPIEnvoyProxy = Component{ - Version: "master", + Version: "test-build", Image: "envoy-proxy", Registry: "", imagePath: "", @@ -365,7 +229,7 @@ var ( } ComponentGatewayAPIEnvoyRatelimit = Component{ - Version: "master", + Version: "test-build", Image: "envoy-ratelimit", Registry: "", imagePath: "", @@ -373,28 +237,28 @@ var ( } ComponentIstioPilot = Component{ - Version: "master", + Version: "test-build", Image: "istio-pilot", Registry: "", variant: enterpriseVariant, } ComponentIstioInstallCNI = Component{ - Version: "master", + Version: "test-build", Image: "istio-install-cni", Registry: "", variant: enterpriseVariant, } ComponentIstioZTunnel = Component{ - Version: "master", + Version: "test-build", Image: "istio-ztunnel", Registry: "", variant: enterpriseVariant, } ComponentIstioProxyv2 = Component{ - Version: "master", + Version: "test-build", Image: "istio-proxyv2", Registry: "", variant: enterpriseVariant, @@ -405,42 +269,25 @@ var ( EnterpriseImages = []Component{ ComponentTigeraCalico, ComponentComplianceBenchmarker, - ComponentComplianceController, - ComponentComplianceReporter, - ComponentComplianceServer, - ComponentComplianceSnapshotter, ComponentDeepPacketInspection, ComponentElasticTseeInstaller, ComponentElasticsearch, ComponentElasticsearchOperator, - ComponentUIAPIs, ComponentFluentd, ComponentFluentdWindows, ComponentIntrusionDetectionController, - ComponentWAFHTTPFilter, - ComponentSecurityEventWebhooksProcessor, ComponentKibana, ComponentManager, ComponentDex, - ComponentManagerProxy, - ComponentPacketCapture, - ComponentPolicyRecommendation, ComponentEgressGateway, - ComponentL7Collector, ComponentGatewayL7Collector, ComponentEnvoyProxy, ComponentDikastes, - ComponentQueryServer, ComponentPrometheus, - ComponentTigeraPrometheusService, ComponentPrometheusAlertmanager, ComponentTigeraNode, ComponentTigeraNodeWindows, ComponentTigeraCNIWindows, - ComponentElasticsearchMetrics, - ComponentESGateway, - ComponentLinseed, - ComponentL7AdmissionController, ComponentGatewayAPIEnvoyGateway, ComponentGatewayAPIEnvoyProxy, ComponentGatewayAPIEnvoyRatelimit, diff --git a/pkg/controller/apiserver/apiserver_controller_test.go b/pkg/controller/apiserver/apiserver_controller_test.go index 9095e64f8e..b70bd58906 100644 --- a/pkg/controller/apiserver/apiserver_controller_test.go +++ b/pkg/controller/apiserver/apiserver_controller_test.go @@ -198,8 +198,8 @@ var _ = Describe("apiserver controller tests", func() { Expect(qserver.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentQueryServer.Image, - components.ComponentQueryServer.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) Expect(d.Spec.Template.Spec.InitContainers).To(HaveLen(2)) csrinit := test.GetContainer(d.Spec.Template.Spec.InitContainers, "calico-apiserver-certs-key-cert-provisioner") Expect(csrinit).ToNot(BeNil()) @@ -218,7 +218,6 @@ var _ = Describe("apiserver controller tests", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/calico", Digest: "sha256:calicohash"}, - {Image: "tigera/queryserver", Digest: "sha256:queryserverhash"}, }, }, })).ToNot(HaveOccurred()) @@ -258,8 +257,8 @@ var _ = Describe("apiserver controller tests", func() { Expect(qserver.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentQueryServer.Image, - "sha256:queryserverhash"))) + components.ComponentTigeraCalico.Image, + "sha256:calicohash"))) csrinit := test.GetContainer(d.Spec.Template.Spec.InitContainers, "calico-apiserver-certs-key-cert-provisioner") Expect(csrinit).ToNot(BeNil()) Expect(csrinit.Image).To(Equal( diff --git a/pkg/controller/applicationlayer/applicationlayer_controller_test.go b/pkg/controller/applicationlayer/applicationlayer_controller_test.go index 36d7ca5d90..c6f8f51ede 100644 --- a/pkg/controller/applicationlayer/applicationlayer_controller_test.go +++ b/pkg/controller/applicationlayer/applicationlayer_controller_test.go @@ -274,7 +274,7 @@ var _ = Describe("Application layer controller tests", func() { Expect(l7collector).ToNot(BeNil()) Expect(l7collector.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentL7Collector.Image, components.ComponentL7Collector.Version))) + components.ComponentTigeraCalico.Image, components.ComponentTigeraCalico.Version))) By("ensuring that felix configuration updated to enabled") fc := v3.FelixConfiguration{ diff --git a/pkg/controller/compliance/compliance_controller_test.go b/pkg/controller/compliance/compliance_controller_test.go index 4bb60c6f1e..7ec3dec59b 100644 --- a/pkg/controller/compliance/compliance_controller_test.go +++ b/pkg/controller/compliance/compliance_controller_test.go @@ -451,8 +451,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(controller.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentComplianceController.Image, - components.ComponentComplianceController.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) pt := corev1.PodTemplate{ TypeMeta: metav1.TypeMeta{Kind: "PodTemplate", APIVersion: "v1"}, @@ -468,8 +468,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(reporter.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentComplianceReporter.Image, - components.ComponentComplianceReporter.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) d = appsv1.Deployment{ TypeMeta: metav1.TypeMeta{Kind: "Deployment", APIVersion: "apps/v1"}, @@ -485,8 +485,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(snap.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentComplianceSnapshotter.Image, - components.ComponentComplianceSnapshotter.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) ds := appsv1.DaemonSet{ TypeMeta: metav1.TypeMeta{Kind: "DaemonSet", APIVersion: "apps/v1"}, @@ -519,8 +519,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(server.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentComplianceServer.Image, - components.ComponentComplianceServer.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) }) It("should use images from imageset", func() { Expect(c.Create(ctx, &operatorv1.ImageSet{ @@ -528,10 +528,6 @@ var _ = Describe("Compliance controller tests", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/compliance-benchmarker", Digest: "sha256:benchmarkerhash"}, - {Image: "tigera/compliance-controller", Digest: "sha256:controllerhash"}, - {Image: "tigera/compliance-reporter", Digest: "sha256:reporterhash"}, - {Image: "tigera/compliance-server", Digest: "sha256:serverhash"}, - {Image: "tigera/compliance-snapshotter", Digest: "sha256:snapshotterhash"}, {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, @@ -554,8 +550,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(controller.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentComplianceController.Image, - "sha256:controllerhash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) pt := corev1.PodTemplate{ TypeMeta: metav1.TypeMeta{Kind: "PodTemplate", APIVersion: "v1"}, @@ -571,8 +567,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(reporter.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentComplianceReporter.Image, - "sha256:reporterhash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) d = appsv1.Deployment{ TypeMeta: metav1.TypeMeta{Kind: "Deployment", APIVersion: "apps/v1"}, @@ -588,8 +584,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(snap.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentComplianceSnapshotter.Image, - "sha256:snapshotterhash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) ds := appsv1.DaemonSet{ TypeMeta: metav1.TypeMeta{Kind: "DaemonSet", APIVersion: "apps/v1"}, @@ -622,8 +618,8 @@ var _ = Describe("Compliance controller tests", func() { Expect(server.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentComplianceServer.Image, - "sha256:serverhash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) }) }) diff --git a/pkg/controller/intrusiondetection/intrusiondetection_controller_test.go b/pkg/controller/intrusiondetection/intrusiondetection_controller_test.go index 5be8dc13bb..38abc7364b 100644 --- a/pkg/controller/intrusiondetection/intrusiondetection_controller_test.go +++ b/pkg/controller/intrusiondetection/intrusiondetection_controller_test.go @@ -265,9 +265,8 @@ var _ = Describe("IntrusionDetection controller tests", func() { ObjectMeta: metav1.ObjectMeta{Name: "enterprise-" + components.EnterpriseRelease}, Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ - {Image: "tigera/intrusion-detection-controller", Digest: "sha256:intrusiondetectioncontrollerhash"}, {Image: "tigera/deep-packet-inspection", Digest: "sha256:deeppacketinspectionhash"}, - {Image: "tigera/webhooks-processor", Digest: "sha256:webhooksprocessorhash"}, + {Image: "tigera/intrusion-detection-controller", Digest: "sha256:intrusiondetectioncontrollerhash"}, {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, diff --git a/pkg/controller/logstorage/elastic/elastic_controller_test.go b/pkg/controller/logstorage/elastic/elastic_controller_test.go index ab547721aa..fca9ed1ad7 100644 --- a/pkg/controller/logstorage/elastic/elastic_controller_test.go +++ b/pkg/controller/logstorage/elastic/elastic_controller_test.go @@ -1043,10 +1043,6 @@ var _ = Describe("LogStorage controller", func() { {Image: "tigera/calico", Digest: "sha256:kubecontrollershash"}, {Image: "tigera/kibana", Digest: "sha256:kibanahash"}, {Image: "tigera/eck-operator", Digest: "sha256:eckoperatorhash"}, - {Image: "tigera/elasticsearch-metrics", Digest: "sha256:esmetricshash"}, - {Image: "tigera/es-gateway", Digest: "sha256:esgatewayhash"}, - {Image: "tigera/linseed", Digest: "sha256:linseedhash"}, - {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, })).ToNot(HaveOccurred()) diff --git a/pkg/controller/logstorage/kubecontrollers/es_kube_controllers_test.go b/pkg/controller/logstorage/kubecontrollers/es_kube_controllers_test.go index 337d7bdc86..b35d072664 100644 --- a/pkg/controller/logstorage/kubecontrollers/es_kube_controllers_test.go +++ b/pkg/controller/logstorage/kubecontrollers/es_kube_controllers_test.go @@ -261,10 +261,6 @@ var _ = Describe("LogStorage ES kube-controllers controller", func() { {Image: "tigera/calico", Digest: "sha256:kubecontrollershash"}, {Image: "tigera/kibana", Digest: "sha256:kibanahash"}, {Image: "tigera/eck-operator", Digest: "sha256:eckoperatorhash"}, - {Image: "tigera/elasticsearch-metrics", Digest: "sha256:esmetricshash"}, - {Image: "tigera/es-gateway", Digest: "sha256:esgatewayhash"}, - {Image: "tigera/linseed", Digest: "sha256:linseedhash"}, - {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, })).ToNot(HaveOccurred()) diff --git a/pkg/controller/logstorage/linseed/linseed_controller_test.go b/pkg/controller/logstorage/linseed/linseed_controller_test.go index 41dd333740..9a1128a11a 100644 --- a/pkg/controller/logstorage/linseed/linseed_controller_test.go +++ b/pkg/controller/logstorage/linseed/linseed_controller_test.go @@ -257,13 +257,9 @@ var _ = Describe("LogStorage Linseed controller", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/elasticsearch", Digest: "sha256:elasticsearchhash"}, - {Image: "tigera/calico", Digest: "sha256:kubecontrollershash"}, {Image: "tigera/kibana", Digest: "sha256:kibanahash"}, {Image: "tigera/eck-operator", Digest: "sha256:eckoperatorhash"}, - {Image: "tigera/elasticsearch-metrics", Digest: "sha256:esmetricshash"}, - {Image: "tigera/es-gateway", Digest: "sha256:esgatewayhash"}, - {Image: "tigera/linseed", Digest: "sha256:linseedhash"}, - {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, + {Image: "tigera/calico", Digest: "sha256:linseedhash"}, }, }, })).ToNot(HaveOccurred()) @@ -283,7 +279,7 @@ var _ = Describe("LogStorage Linseed controller", func() { Expect(test.GetResource(cli, &linseedDp)).To(BeNil()) linseed := test.GetContainer(linseedDp.Spec.Template.Spec.Containers, linseed.DeploymentName) Expect(linseed).ToNot(BeNil()) - Expect(linseed.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, components.ComponentLinseed.Image, "sha256:linseedhash"))) + Expect(linseed.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, components.ComponentTigeraCalico.Image, "sha256:linseedhash"))) }) }) @@ -480,13 +476,9 @@ var _ = Describe("LogStorage Linseed controller", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/elasticsearch", Digest: "sha256:elasticsearchhash"}, - {Image: "tigera/calico", Digest: "sha256:kubecontrollershash"}, {Image: "tigera/kibana", Digest: "sha256:kibanahash"}, {Image: "tigera/eck-operator", Digest: "sha256:eckoperatorhash"}, - {Image: "tigera/elasticsearch-metrics", Digest: "sha256:esmetricshash"}, - {Image: "tigera/es-gateway", Digest: "sha256:esgatewayhash"}, - {Image: "tigera/linseed", Digest: "sha256:linseedhash"}, - {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, + {Image: "tigera/calico", Digest: "sha256:linseedhash"}, }, }, })).ToNot(HaveOccurred()) @@ -506,7 +498,7 @@ var _ = Describe("LogStorage Linseed controller", func() { Expect(test.GetResource(cli, &linseedDp)).To(BeNil()) linseed := test.GetContainer(linseedDp.Spec.Template.Spec.Containers, linseed.DeploymentName) Expect(linseed).ToNot(BeNil()) - Expect(linseed.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, components.ComponentLinseed.Image, "sha256:linseedhash"))) + Expect(linseed.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, components.ComponentTigeraCalico.Image, "sha256:linseedhash"))) }) Context("External ES mode", func() { diff --git a/pkg/controller/manager/manager_controller_test.go b/pkg/controller/manager/manager_controller_test.go index 8fc5544954..47c83cec1b 100644 --- a/pkg/controller/manager/manager_controller_test.go +++ b/pkg/controller/manager/manager_controller_test.go @@ -626,22 +626,22 @@ var _ = Describe("Manager controller tests", func() { Expect(dashboard.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentUIAPIs.Image, - components.ComponentUIAPIs.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) uiAPIContainer := test.GetContainer(d.Spec.Template.Spec.Containers, render.UIAPIsName) Expect(uiAPIContainer).ToNot(BeNil()) Expect(uiAPIContainer.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentUIAPIs.Image, - components.ComponentUIAPIs.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) vltrn := test.GetContainer(d.Spec.Template.Spec.Containers, render.VoltronName) Expect(vltrn).ToNot(BeNil()) Expect(vltrn.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentManagerProxy.Image, - components.ComponentManagerProxy.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) }) It("should use images from imageset", func() { mockStatus.On("RemoveCertificateSigningRequests", mock.Anything).Return() @@ -650,8 +650,6 @@ var _ = Describe("Manager controller tests", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/manager", Digest: "sha256:managerhash"}, - {Image: "tigera/ui-apis", Digest: "sha256:uiapihash"}, - {Image: "tigera/voltron", Digest: "sha256:voltronhash"}, {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, @@ -680,22 +678,22 @@ var _ = Describe("Manager controller tests", func() { Expect(dashboard.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentUIAPIs.Image, - "sha256:uiapihash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) uiAPIContainer := test.GetContainer(d.Spec.Template.Spec.Containers, render.UIAPIsName) Expect(uiAPIContainer).ToNot(BeNil()) Expect(uiAPIContainer.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentUIAPIs.Image, - "sha256:uiapihash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) vltrn := test.GetContainer(d.Spec.Template.Spec.Containers, render.VoltronName) Expect(vltrn).ToNot(BeNil()) Expect(vltrn.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentManagerProxy.Image, - "sha256:voltronhash"))) + components.ComponentTigeraCalico.Image, + "sha256:deadbeef0123456789"))) }) }) diff --git a/pkg/controller/packetcapture/packetcapture_controller_test.go b/pkg/controller/packetcapture/packetcapture_controller_test.go index b389003e52..c5497e61d8 100644 --- a/pkg/controller/packetcapture/packetcapture_controller_test.go +++ b/pkg/controller/packetcapture/packetcapture_controller_test.go @@ -187,8 +187,8 @@ var _ = Describe("packet capture controller tests", func() { Expect(pcContainer.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentPacketCapture.Image, - components.ComponentPacketCapture.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) Expect(pcContainer.VolumeMounts).To(ConsistOf([]corev1.VolumeMount{ { Name: packetCaptureSecret.Name, @@ -227,7 +227,6 @@ var _ = Describe("packet capture controller tests", func() { Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ {Image: "tigera/calico", Digest: "sha256:calicocsrinithash"}, - {Image: "tigera/packetcapture", Digest: "sha256:packetcapturehash"}, }, }, })).ToNot(HaveOccurred()) @@ -249,8 +248,8 @@ var _ = Describe("packet capture controller tests", func() { Expect(pcContainer.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentPacketCapture.Image, - "sha256:packetcapturehash"))) + components.ComponentTigeraCalico.Image, + "sha256:calicocsrinithash"))) csrinitContainer := test.GetContainer(pcDeployment.Spec.Template.Spec.InitContainers, "tigera-packetcapture-server-tls-key-cert-provisioner") Expect(csrinitContainer).ToNot(BeNil()) Expect(csrinitContainer.Image).To(Equal( diff --git a/pkg/controller/policyrecommendation/policyrecommendation_controller_test.go b/pkg/controller/policyrecommendation/policyrecommendation_controller_test.go index 2fa82e54ad..9b3b9d7c15 100644 --- a/pkg/controller/policyrecommendation/policyrecommendation_controller_test.go +++ b/pkg/controller/policyrecommendation/policyrecommendation_controller_test.go @@ -194,8 +194,8 @@ var _ = Describe("PolicyRecommendation controller tests", func() { Expect(controller).ToNot(BeNil()) Expect(controller.Image).To(Equal(fmt.Sprintf("some.registry.org/%s%s:%s", components.TigeraImagePath, - components.ComponentPolicyRecommendation.Image, - components.ComponentPolicyRecommendation.Version))) + components.ComponentTigeraCalico.Image, + components.ComponentTigeraCalico.Version))) }) It("should use images from imageset", func() { @@ -203,7 +203,7 @@ var _ = Describe("PolicyRecommendation controller tests", func() { ObjectMeta: metav1.ObjectMeta{Name: "enterprise-" + components.EnterpriseRelease}, Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{ - {Image: "tigera/policy-recommendation", Digest: "sha256:policyrecommendationcontrollerhash"}, + {Image: "tigera/calico", Digest: "sha256:policyrecommendationcontrollerhash"}, {Image: "tigera/calico", Digest: "sha256:deadbeef0123456789"}, }, }, @@ -226,7 +226,7 @@ var _ = Describe("PolicyRecommendation controller tests", func() { Expect(controller.Image).To(Equal( fmt.Sprintf("some.registry.org/%s%s@%s", components.TigeraImagePath, - components.ComponentPolicyRecommendation.Image, + components.ComponentTigeraCalico.Image, "sha256:policyrecommendationcontrollerhash"))) }) }) diff --git a/pkg/render/apiserver.go b/pkg/render/apiserver.go index bcb00f31cf..e1918e4fb5 100644 --- a/pkg/render/apiserver.go +++ b/pkg/render/apiserver.go @@ -175,14 +175,12 @@ func (c *apiServerComponent) ResolveImages(is *operatorv1.ImageSet) error { } if enterprise { - // queryserver and dikastes don't yet ship as part of the combined calico image - // in enterprise, so resolve them from their own component images. - c.queryServerImage, err = components.GetReference(components.ComponentQueryServer, reg, path, prefix, is) + c.queryServerImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } if c.cfg.IsSidecarInjectionEnabled() { - c.l7AdmissionControllerImage, err = components.GetReference(components.ComponentL7AdmissionController, reg, path, prefix, is) + c.l7AdmissionControllerImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -1307,6 +1305,7 @@ func (c *apiServerComponent) queryServerContainer() corev1.Container { Name: string(TigeraAPIServerQueryServerContainerName), Image: c.queryServerImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "queryserver"}, Env: env, LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ @@ -2256,6 +2255,7 @@ func (c *apiServerComponent) l7AdmissionControllerContainer() corev1.Container { Name: string(L7AdmissionControllerContainerName), Image: c.l7AdmissionControllerImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "l7-admission-controller"}, Env: []corev1.EnvVar{ { Name: "L7ADMCTRL_TLSCERTPATH", diff --git a/pkg/render/apiserver_test.go b/pkg/render/apiserver_test.go index 94033edd67..6165e2952e 100644 --- a/pkg/render/apiserver_test.go +++ b/pkg/render/apiserver_test.go @@ -245,7 +245,7 @@ var _ = Describe("API server rendering tests (Calico Enterprise)", func() { Expect(d.Spec.Template.Spec.Containers[1].Name).To(Equal("tigera-queryserver")) Expect(d.Spec.Template.Spec.Containers[1].Image).To(Equal( - fmt.Sprintf("testregistry.com/%s%s:%s", components.TigeraImagePath, components.ComponentQueryServer.Image, components.ComponentQueryServer.Version), + fmt.Sprintf("testregistry.com/%s%s:%s", components.TigeraImagePath, components.ComponentTigeraCalico.Image, components.ComponentTigeraCalico.Version), )) Expect(d.Spec.Template.Spec.Containers[1].Args).To(BeEmpty()) diff --git a/pkg/render/applicationlayer/applicationlayer.go b/pkg/render/applicationlayer/applicationlayer.go index 7e480cf25c..99ffe7eeb5 100644 --- a/pkg/render/applicationlayer/applicationlayer.go +++ b/pkg/render/applicationlayer/applicationlayer.go @@ -132,7 +132,7 @@ func (c *component) ResolveImages(is *operatorv1.ImageSet) error { errMsgs = append(errMsgs, err.Error()) } - c.config.collectorImage, err = components.GetReference(components.ComponentL7Collector, reg, path, prefix, is) + c.config.collectorImage, err = components.GetReference(components.CombinedCalicoImage(c.config.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -291,6 +291,7 @@ func (c *component) containers() []corev1.Container { Name: L7CollectorContainerName, Image: c.config.collectorImage, ImagePullPolicy: render.ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "l7-collector"}, Env: c.collectorEnv(), SecurityContext: securitycontext.NewRootContext(false), VolumeMounts: c.collectorVolMounts(), diff --git a/pkg/render/compliance.go b/pkg/render/compliance.go index 53c1e46817..b1e7a8ba8c 100644 --- a/pkg/render/compliance.go +++ b/pkg/render/compliance.go @@ -140,22 +140,22 @@ func (c *complianceComponent) ResolveImages(is *operatorv1.ImageSet) error { errMsgs = append(errMsgs, err.Error()) } - c.snapshotterImage, err = components.GetReference(components.ComponentComplianceSnapshotter, reg, path, prefix, is) + c.snapshotterImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } - c.serverImage, err = components.GetReference(components.ComponentComplianceServer, reg, path, prefix, is) + c.serverImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } - c.controllerImage, err = components.GetReference(components.ComponentComplianceController, reg, path, prefix, is) + c.controllerImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } - c.reporterImage, err = components.GetReference(components.ComponentComplianceReporter, reg, path, prefix, is) + c.reporterImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -486,6 +486,7 @@ func (c *complianceComponent) complianceControllerDeployment() *appsv1.Deploymen Name: ComplianceControllerName, Image: c.controllerImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "compliance-controller"}, Env: envVars, LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ @@ -686,6 +687,7 @@ func (c *complianceComponent) complianceReporterPodTemplate() *corev1.PodTemplat Name: "reporter", Image: c.reporterImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "compliance-reporter"}, Env: envVars, LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ @@ -893,6 +895,7 @@ func (c *complianceComponent) complianceServerDeployment() *appsv1.Deployment { { Name: ComplianceServerName, Image: c.serverImage, + Command: []string{components.CalicoBinaryPath, "component", "compliance-server"}, ImagePullPolicy: ImagePullPolicy(), Env: envVars, LivenessProbe: &corev1.Probe{ @@ -1107,6 +1110,7 @@ func (c *complianceComponent) complianceSnapshotterDeployment() *appsv1.Deployme Name: ComplianceSnapshotterName, Image: c.snapshotterImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "compliance-snapshotter"}, Env: envVars, LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ diff --git a/pkg/render/gatewayapi/gateway_api.go b/pkg/render/gatewayapi/gateway_api.go index e64cbe6f95..b2483e564d 100644 --- a/pkg/render/gatewayapi/gateway_api.go +++ b/pkg/render/gatewayapi/gateway_api.go @@ -443,7 +443,7 @@ func (pr *gatewayAPIImplementationComponent) ResolveImages(is *operatorv1.ImageS if err != nil { return err } - pr.wafHTTPFilterImage, err = components.GetReference(components.ComponentWAFHTTPFilter, reg, path, prefix, is) + pr.wafHTTPFilterImage, err = components.GetReference(components.CombinedCalicoImage(pr.cfg.Installation), reg, path, prefix, is) if err != nil { return err } @@ -767,14 +767,15 @@ func (pr *gatewayAPIImplementationComponent) envoyProxyConfig(className string, if envoyProxy.Spec.Provider.Kubernetes.EnvoyDeployment != nil { // Add or update the Init Container to the deployment wafHTTPFilter := corev1.Container{ - Name: wafFilterName, - Image: pr.wafHTTPFilterImage, + Name: wafFilterName, + Image: pr.wafHTTPFilterImage, + Command: []string{components.CalicoBinaryPath, "component", "waf-http-filter"}, Args: []string{ - "-logFileDirectory", + "--logFileDirectory", "/var/log/calico/waf", - "-logFileName", + "--logFileName", "waf.log", - "-socketPath", + "--socketPath", "/var/run/waf-http-filter/extproc.sock", }, RestartPolicy: ptr.To(corev1.ContainerRestartPolicyAlways), diff --git a/pkg/render/intrusion_detection.go b/pkg/render/intrusion_detection.go index 2c27553543..8577ea205a 100644 --- a/pkg/render/intrusion_detection.go +++ b/pkg/render/intrusion_detection.go @@ -137,7 +137,7 @@ func (c *intrusionDetectionComponent) ResolveImages(is *operatorv1.ImageSet) err errMsgs = append(errMsgs, err.Error()) } - c.webhooksProcessorImage, err = components.GetReference(components.ComponentSecurityEventWebhooksProcessor, reg, path, prefix, is) + c.webhooksProcessorImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -688,6 +688,7 @@ func (c *intrusionDetectionComponent) webhooksControllerContainer() corev1.Conta Name: "webhooks-processor", Image: c.webhooksProcessorImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "webhooks-processor"}, Env: envVars, SecurityContext: securitycontext.NewNonRootContext(), VolumeMounts: volumeMounts, @@ -769,14 +770,16 @@ func (c *intrusionDetectionComponent) intrusionDetectionControllerContainer() co Name: "controller", Image: c.controllerImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "intrusion-detection-controller"}, Env: envs, - // Needed for permissions to write to the audit log LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ Command: []string{ - "/usr/bin/healthz", - "liveness", + components.CalicoBinaryPath, + "health", + "--port=50000", + "--type=liveness", }, }, }, diff --git a/pkg/render/logstorage/esgateway/esgateway.go b/pkg/render/logstorage/esgateway/esgateway.go index b53373d18b..ec217ae11e 100644 --- a/pkg/render/logstorage/esgateway/esgateway.go +++ b/pkg/render/logstorage/esgateway/esgateway.go @@ -92,7 +92,7 @@ func (e *esGateway) ResolveImages(is *operatorv1.ImageSet) error { var err error errMsgs := []string{} - e.esGatewayImage, err = components.GetReference(components.ComponentESGateway, reg, path, prefix, is) + e.esGatewayImage, err = components.GetReference(components.CombinedCalicoImage(e.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -254,6 +254,7 @@ func (e *esGateway) esGatewayDeployment() *appsv1.Deployment { Name: DeploymentName, Image: e.esGatewayImage, ImagePullPolicy: render.ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "es-gateway"}, Env: envVars, VolumeMounts: volumeMounts, ReadinessProbe: &corev1.Probe{ diff --git a/pkg/render/logstorage/esgateway/esgateway_test.go b/pkg/render/logstorage/esgateway/esgateway_test.go index b0d4f45d91..d50bc74264 100644 --- a/pkg/render/logstorage/esgateway/esgateway_test.go +++ b/pkg/render/logstorage/esgateway/esgateway_test.go @@ -68,6 +68,7 @@ var _ = Describe("ES Gateway rendering tests", func() { ControlPlaneReplicas: &replicas, KubernetesProvider: operatorv1.ProviderNone, Registry: "testregistry.com/", + Variant: operatorv1.TigeraSecureEnterprise, } replicas = 2 kp, bundle := getTLS(cli, installation) diff --git a/pkg/render/logstorage/esmetrics/elasticsearch_metrics.go b/pkg/render/logstorage/esmetrics/elasticsearch_metrics.go index 444b1afcb4..97e09f71ba 100644 --- a/pkg/render/logstorage/esmetrics/elasticsearch_metrics.go +++ b/pkg/render/logstorage/esmetrics/elasticsearch_metrics.go @@ -82,7 +82,7 @@ func (e *elasticsearchMetrics) ResolveImages(is *operatorv1.ImageSet) error { path := e.cfg.Installation.ImagePath prefix := e.cfg.Installation.ImagePrefix - e.esMetricsImage, err = components.GetReference(components.ComponentElasticsearchMetrics, reg, path, prefix, is) + e.esMetricsImage, err = components.GetReference(components.CombinedCalicoImage(e.cfg.Installation), reg, path, prefix, is) if err != nil { return err } @@ -237,7 +237,7 @@ func (e *elasticsearchMetrics) metricsDeployment() *appsv1.Deployment { Image: e.esMetricsImage, ImagePullPolicy: render.ImagePullPolicy(), SecurityContext: sc, - Command: []string{"/bin/elasticsearch_exporter"}, + Command: []string{components.CalicoBinaryPath, "component", "elasticsearch-metrics"}, Args: []string{ "--es.uri=https://$(ELASTIC_USERNAME):$(ELASTIC_PASSWORD)@$(ELASTIC_HOST):$(ELASTIC_PORT)", "--es.all", "--es.indices", "--es.indices_settings", "--es.shards", "--es.cluster_settings", diff --git a/pkg/render/logstorage/esmetrics/elasticsearch_metrics_test.go b/pkg/render/logstorage/esmetrics/elasticsearch_metrics_test.go index b39b9566ab..dcb2664210 100644 --- a/pkg/render/logstorage/esmetrics/elasticsearch_metrics_test.go +++ b/pkg/render/logstorage/esmetrics/elasticsearch_metrics_test.go @@ -60,6 +60,7 @@ var _ = Describe("Elasticsearch metrics", func() { installation := &operatorv1.InstallationSpec{ KubernetesProvider: operatorv1.ProviderOpenShift, Registry: "testregistry.com/", + Variant: operatorv1.TigeraSecureEnterprise, } esConfig = relasticsearch.NewClusterConfig("cluster", 1, 1, 1) @@ -93,7 +94,7 @@ var _ = Describe("Elasticsearch metrics", func() { Expect(component.ResolveImages(&operatorv1.ImageSet{ Spec: operatorv1.ImageSetSpec{ Images: []operatorv1.Image{{ - Image: "tigera/elasticsearch-metrics", + Image: "tigera/calico", Digest: "testdigest", }}, }, @@ -163,8 +164,8 @@ var _ = Describe("Elasticsearch metrics", func() { ImagePullSecrets: []corev1.LocalObjectReference{{Name: "pullsecret"}}, Containers: []corev1.Container{{ Name: ElasticsearchMetricsName, - Image: "testregistry.com/tigera/elasticsearch-metrics@testdigest", - Command: []string{"/bin/elasticsearch_exporter"}, + Image: "testregistry.com/tigera/calico@testdigest", + Command: []string{"/usr/bin/calico", "component", "elasticsearch-metrics"}, Args: []string{ "--es.uri=https://$(ELASTIC_USERNAME):$(ELASTIC_PASSWORD)@$(ELASTIC_HOST):$(ELASTIC_PORT)", "--es.all", "--es.indices", "--es.indices_settings", "--es.shards", "--es.cluster_settings", diff --git a/pkg/render/logstorage/linseed/linseed.go b/pkg/render/logstorage/linseed/linseed.go index 8ada1a33da..9ab6cae0ef 100644 --- a/pkg/render/logstorage/linseed/linseed.go +++ b/pkg/render/logstorage/linseed/linseed.go @@ -137,7 +137,7 @@ func (l *linseed) ResolveImages(is *operatorv1.ImageSet) error { errMsgs := []string{} // Calculate the image(s) to use for Linseed, given user registry configuration. - l.linseedImage, err = components.GetReference(components.ComponentLinseed, reg, path, prefix, is) + l.linseedImage, err = components.GetReference(components.CombinedCalicoImage(l.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -461,13 +461,14 @@ func (l *linseed) linseedDeployment() *appsv1.Deployment { Name: DeploymentName, Image: l.linseedImage, ImagePullPolicy: render.ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "linseed"}, Env: envVars, VolumeMounts: volumeMounts, SecurityContext: sc, ReadinessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/linseed", "-ready"}, + Command: []string{components.CalicoBinaryPath, "component", "linseed", "ready"}, }, }, InitialDelaySeconds: 10, @@ -475,7 +476,7 @@ func (l *linseed) linseedDeployment() *appsv1.Deployment { LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/linseed", "-live"}, + Command: []string{components.CalicoBinaryPath, "component", "linseed", "live"}, }, }, InitialDelaySeconds: 10, diff --git a/pkg/render/logstorage/linseed/linseed_test.go b/pkg/render/logstorage/linseed/linseed_test.go index c0dae08570..bae479e483 100644 --- a/pkg/render/logstorage/linseed/linseed_test.go +++ b/pkg/render/logstorage/linseed/linseed_test.go @@ -38,6 +38,7 @@ import ( operatorv1 "github.com/tigera/operator/api/v1" "github.com/tigera/operator/pkg/apis" "github.com/tigera/operator/pkg/common" + "github.com/tigera/operator/pkg/components" "github.com/tigera/operator/pkg/controller/certificatemanager" ctrlrfake "github.com/tigera/operator/pkg/ctrlruntime/client/fake" "github.com/tigera/operator/pkg/dns" @@ -1030,6 +1031,7 @@ func expectedContainers() []corev1.Container { { Name: DeploymentName, ImagePullPolicy: render.ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "linseed"}, SecurityContext: &corev1.SecurityContext{ Capabilities: &corev1.Capabilities{Drop: []corev1.Capability{"ALL"}}, AllowPrivilegeEscalation: ptr.To(false), @@ -1042,7 +1044,7 @@ func expectedContainers() []corev1.Container { ReadinessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/linseed", "-ready"}, + Command: []string{components.CalicoBinaryPath, "component", "linseed", "ready"}, }, }, InitialDelaySeconds: 10, @@ -1050,7 +1052,7 @@ func expectedContainers() []corev1.Container { LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/linseed", "-live"}, + Command: []string{components.CalicoBinaryPath, "component", "linseed", "live"}, }, }, InitialDelaySeconds: 10, diff --git a/pkg/render/manager.go b/pkg/render/manager.go index 543d0b2509..cec6a2811d 100644 --- a/pkg/render/manager.go +++ b/pkg/render/manager.go @@ -238,12 +238,12 @@ func (c *managerComponent) ResolveImages(is *operatorv1.ImageSet) error { errMsgs = append(errMsgs, err.Error()) } - c.voltronImage, err = components.GetReference(components.ComponentManagerProxy, reg, path, prefix, is) + c.voltronImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } - c.uiAPIsImage, err = components.GetReference(components.ComponentUIAPIs, reg, path, prefix, is) + c.uiAPIsImage, err = components.GetReference(components.CombinedCalicoImage(c.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -669,6 +669,7 @@ func (c *managerComponent) voltronContainer() corev1.Container { Name: VoltronName, Image: c.voltronImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "voltron"}, Env: env, VolumeMounts: mounts, LivenessProbe: c.managerProxyProbe(), @@ -703,14 +704,14 @@ func (c *managerComponent) dashboardContainer() corev1.Container { Name: DashboardAPIName, Image: c.uiAPIsImage, ImagePullPolicy: ImagePullPolicy(), - Command: []string{"/usr/bin/dashboard-api"}, + Command: []string{components.CalicoBinaryPath, "component", "dashboards"}, Env: env, VolumeMounts: mounts, SecurityContext: securitycontext.NewNonRootContext(), ReadinessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/usr/bin/dashboard-api", "-ready"}, + Command: []string{components.CalicoBinaryPath, "component", "dashboards", "ready"}, }, }, FailureThreshold: 3, @@ -722,7 +723,7 @@ func (c *managerComponent) dashboardContainer() corev1.Container { LivenessProbe: &corev1.Probe{ ProbeHandler: corev1.ProbeHandler{ Exec: &corev1.ExecAction{ - Command: []string{"/usr/bin/dashboard-api", "-ready"}, + Command: []string{components.CalicoBinaryPath, "component", "dashboards", "ready"}, }, }, FailureThreshold: 3, @@ -794,6 +795,7 @@ func (c *managerComponent) managerUIAPIsContainer() corev1.Container { Name: UIAPIsName, Image: c.uiAPIsImage, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "ui-apis"}, LivenessProbe: c.managerUIAPIsProbe(), SecurityContext: securitycontext.NewNonRootContext(), Env: env, diff --git a/pkg/render/manager_test.go b/pkg/render/manager_test.go index 92243e464d..d9f00ee20a 100644 --- a/pkg/render/manager_test.go +++ b/pkg/render/manager_test.go @@ -130,9 +130,9 @@ var _ = Describe("Tigera Secure Manager rendering tests", func() { manager := deployment.Spec.Template.Spec.Containers[3] Expect(manager.Image).Should(Equal(components.TigeraRegistry + "tigera/manager:" + components.ComponentManager.Version)) - Expect(uiAPIs.Image).Should(Equal(components.TigeraRegistry + "tigera/ui-apis:" + components.ComponentUIAPIs.Version)) - Expect(dashboard.Image).Should(Equal(components.TigeraRegistry + "tigera/ui-apis:" + components.ComponentUIAPIs.Version)) - Expect(voltron.Image).Should(Equal(components.TigeraRegistry + "tigera/voltron:" + components.ComponentManagerProxy.Version)) + Expect(uiAPIs.Image).Should(Equal(components.CalicoRegistry + "calico/calico:" + components.ComponentCalico.Version)) + Expect(dashboard.Image).Should(Equal(components.CalicoRegistry + "calico/calico:" + components.ComponentCalico.Version)) + Expect(voltron.Image).Should(Equal(components.CalicoRegistry + "calico/calico:" + components.ComponentCalico.Version)) // manager container Expect(*manager.SecurityContext.AllowPrivilegeEscalation).To(BeFalse()) @@ -203,9 +203,9 @@ var _ = Describe("Tigera Secure Manager rendering tests", func() { Expect(dashboard.VolumeMounts[1].MountPath).To(Equal(fmt.Sprintf("/%s", render.ManagerInternalTLSSecretName))) Expect(dashboard.ReadinessProbe).NotTo(BeNil()) - Expect(dashboard.ReadinessProbe.ProbeHandler.Exec.Command).To(Equal([]string{"/usr/bin/dashboard-api", "-ready"})) + Expect(dashboard.ReadinessProbe.ProbeHandler.Exec.Command).To(Equal([]string{"/usr/bin/calico", "component", "dashboards", "ready"})) Expect(dashboard.LivenessProbe).NotTo(BeNil()) - Expect(dashboard.LivenessProbe.ProbeHandler.Exec.Command).To(Equal([]string{"/usr/bin/dashboard-api", "-ready"})) + Expect(dashboard.LivenessProbe.ProbeHandler.Exec.Command).To(Equal([]string{"/usr/bin/calico", "component", "dashboards", "ready"})) Expect(dashboard.SecurityContext).NotTo(BeNil()) Expect(*dashboard.SecurityContext.AllowPrivilegeEscalation).To(BeFalse()) diff --git a/pkg/render/monitor/monitor.go b/pkg/render/monitor/monitor.go index b101f2d223..f966046b0f 100644 --- a/pkg/render/monitor/monitor.go +++ b/pkg/render/monitor/monitor.go @@ -200,7 +200,7 @@ func (mc *monitorComponent) ResolveImages(is *operatorv1.ImageSet) error { errMsgs = append(errMsgs, err.Error()) } - mc.prometheusServiceImage, err = components.GetReference(components.ComponentTigeraPrometheusService, reg, path, prefix, is) + mc.prometheusServiceImage, err = components.GetReference(components.CombinedCalicoImage(mc.cfg.Installation), reg, path, prefix, is) if err != nil { errMsgs = append(errMsgs, err.Error()) } @@ -642,6 +642,7 @@ func (mc *monitorComponent) prometheus() *monitoringv1.Prometheus { Name: "authn-proxy", Image: mc.prometheusServiceImage, ImagePullPolicy: render.ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "prometheus-service"}, Ports: []corev1.ContainerPort{ { ContainerPort: PrometheusProxyPort, diff --git a/pkg/render/packet_capture_api.go b/pkg/render/packet_capture_api.go index 5a82bd7cbb..8015fc443c 100644 --- a/pkg/render/packet_capture_api.go +++ b/pkg/render/packet_capture_api.go @@ -99,7 +99,7 @@ func (pc *packetCaptureApiComponent) ResolveImages(is *operatorv1.ImageSet) erro prefix := pc.cfg.Installation.ImagePrefix var err error - pc.image, err = components.GetReference(components.ComponentPacketCapture, reg, path, prefix, is) + pc.image, err = components.GetReference(components.CombinedCalicoImage(pc.cfg.Installation), reg, path, prefix, is) if err != nil { return err } @@ -305,6 +305,7 @@ func (pc *packetCaptureApiComponent) container() corev1.Container { Name: PacketCaptureContainerName, Image: pc.image, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "packetcapture"}, LivenessProbe: pc.healthProbe(), ReadinessProbe: pc.healthProbe(), SecurityContext: securitycontext.NewNonRootContext(), diff --git a/pkg/render/packet_capture_api_test.go b/pkg/render/packet_capture_api_test.go index f491611134..02d4310759 100644 --- a/pkg/render/packet_capture_api_test.go +++ b/pkg/render/packet_capture_api_test.go @@ -79,7 +79,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { }, }} // Installation with minimal setup - defaultInstallation := operatorv1.InstallationSpec{} + defaultInstallation := operatorv1.InstallationSpec{Variant: operatorv1.TigeraSecureEnterprise} // Rendering packet capture resources renderPacketCapture := func(i operatorv1.InstallationSpec, config authentication.KeyValidatorConfig) (resources []client.Object) { @@ -192,7 +192,8 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { return []corev1.Container{ { Name: render.PacketCaptureContainerName, - Image: fmt.Sprintf("%s%s%s:%s", components.TigeraRegistry, components.TigeraImagePath, components.ComponentPacketCapture.Image, components.ComponentPacketCapture.Version), + Image: fmt.Sprintf("%s%s%s:%s", components.TigeraRegistry, components.TigeraImagePath, components.ComponentTigeraCalico.Image, components.ComponentTigeraCalico.Version), + Command: []string{components.CalicoBinaryPath, "component", "packetcapture"}, ImagePullPolicy: render.ImagePullPolicy(), SecurityContext: &corev1.SecurityContext{ AllowPrivilegeEscalation: ptr.To(false), @@ -350,6 +351,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { Value: "bar", } resources := renderPacketCapture(operatorv1.InstallationSpec{ + Variant: operatorv1.TigeraSecureEnterprise, ControlPlaneTolerations: []corev1.Toleration{t}, }, nil) @@ -362,6 +364,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { It("should render toleration on GKE", func() { resources := renderPacketCapture(operatorv1.InstallationSpec{ + Variant: operatorv1.TigeraSecureEnterprise, KubernetesProvider: operatorv1.ProviderGKE, }, nil) deployment := rtest.GetResource(resources, render.PacketCaptureDeploymentName, render.PacketCaptureNamespace, "apps", "v1", "Deployment").(*appsv1.Deployment) @@ -376,6 +379,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { It("should render SecurityContextConstrains properly when provider is OpenShift", func() { resources := renderPacketCapture(operatorv1.InstallationSpec{ + Variant: operatorv1.TigeraSecureEnterprise, KubernetesProvider: operatorv1.ProviderOpenShift, }, nil) @@ -391,7 +395,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { It("should render all resources for an installation with certificate management", func() { ca, _ := tls.MakeCA(rmeta.DefaultOperatorCASignerName()) cert, _, _ := ca.Config.GetPEMBytes() // create a valid pem block - installation := operatorv1.InstallationSpec{CertificateManagement: &operatorv1.CertificateManagement{CACert: cert}} + installation := operatorv1.InstallationSpec{Variant: operatorv1.TigeraSecureEnterprise, CertificateManagement: &operatorv1.CertificateManagement{CACert: cert}} certificateManager, err := certificatemanager.Create(cli, &installation, clusterDomain, common.OperatorNamespace(), certificatemanager.AllowCACreation()) Expect(err).NotTo(HaveOccurred()) @@ -460,7 +464,7 @@ var _ = Describe("Rendering tests for PacketCapture API component", func() { It("should override container's resource request and render init container with default values", func() { ca, _ := tls.MakeCA(rmeta.DefaultOperatorCASignerName()) cert, _, _ := ca.Config.GetPEMBytes() // create a valid pem block - installation := operatorv1.InstallationSpec{CertificateManagement: &operatorv1.CertificateManagement{CACert: cert}} + installation := operatorv1.InstallationSpec{Variant: operatorv1.TigeraSecureEnterprise, CertificateManagement: &operatorv1.CertificateManagement{CACert: cert}} certificateManager, err := certificatemanager.Create(cli, &installation, clusterDomain, common.OperatorNamespace(), certificatemanager.AllowCACreation()) Expect(err).NotTo(HaveOccurred()) diff --git a/pkg/render/policyrecommendation.go b/pkg/render/policyrecommendation.go index a54a90b555..9526d9d2a9 100644 --- a/pkg/render/policyrecommendation.go +++ b/pkg/render/policyrecommendation.go @@ -97,7 +97,7 @@ func (pr *policyRecommendationComponent) ResolveImages(is *operatorv1.ImageSet) prefix := pr.cfg.Installation.ImagePrefix var err error - pr.image, err = components.GetReference(components.ComponentPolicyRecommendation, reg, path, prefix, is) + pr.image, err = components.GetReference(components.CombinedCalicoImage(pr.cfg.Installation), reg, path, prefix, is) if err != nil { return err } @@ -361,6 +361,7 @@ func (pr *policyRecommendationComponent) deployment() *appsv1.Deployment { Name: "policy-recommendation-controller", Image: pr.image, ImagePullPolicy: ImagePullPolicy(), + Command: []string{components.CalicoBinaryPath, "component", "policy-recommendation"}, Env: envs, SecurityContext: securitycontext.NewNonRootContext(), VolumeMounts: volumeMounts,