Use ChartLoader to set operator deployment images

This allows the (operator) unittests to use dummy values instead of
relying on the real image string from versions.go.
This commit is contained in:
Otto Bittner 2022-11-28 09:15:39 +01:00
parent 3b6bc3b28f
commit fc8a2be843
6 changed files with 35 additions and 23 deletions

View file

@ -39,14 +39,16 @@ var helmFS embed.FS
// ChartLoader loads embedded helm charts. // ChartLoader loads embedded helm charts.
type ChartLoader struct { type ChartLoader struct {
joinServiceImage string joinServiceImage string
kmsImage string kmsImage string
ccmImage string ccmImage string
cnmImage string cnmImage string
autoscalerImage string autoscalerImage string
verificationServiceImage string verificationServiceImage string
gcpGuestAgentImage string gcpGuestAgentImage string
konnectivityImage string konnectivityImage string
constellationOperatorImage string
nodeMaintenanceOperatorImage string
} }
// NewLoader creates a new ChartLoader. // NewLoader creates a new ChartLoader.
@ -63,14 +65,16 @@ func NewLoader(csp cloudprovider.Provider, k8sVersion versions.ValidK8sVersion)
} }
return &ChartLoader{ return &ChartLoader{
joinServiceImage: versions.JoinImage, joinServiceImage: versions.JoinImage,
kmsImage: versions.KmsImage, kmsImage: versions.KmsImage,
ccmImage: ccmImage, ccmImage: ccmImage,
cnmImage: cnmImage, cnmImage: cnmImage,
autoscalerImage: versions.VersionConfigs[k8sVersion].ClusterAutoscalerImage, autoscalerImage: versions.VersionConfigs[k8sVersion].ClusterAutoscalerImage,
verificationServiceImage: versions.VerificationImage, verificationServiceImage: versions.VerificationImage,
gcpGuestAgentImage: versions.GcpGuestImage, gcpGuestAgentImage: versions.GcpGuestImage,
konnectivityImage: versions.KonnectivityAgentImage, konnectivityImage: versions.KonnectivityAgentImage,
constellationOperatorImage: versions.ConstellationOperatorImage,
nodeMaintenanceOperatorImage: versions.NodeMaintenanceOperatorImage,
} }
} }
@ -266,14 +270,14 @@ func (i *ChartLoader) loadOperatorsHelper(csp cloudprovider.Provider) (*chart.Ch
"constellation-operator": map[string]any{ "constellation-operator": map[string]any{
"controllerManager": map[string]any{ "controllerManager": map[string]any{
"manager": map[string]any{ "manager": map[string]any{
"image": versions.ConstellationOperatorImage, "image": i.constellationOperatorImage,
}, },
}, },
}, },
"node-maintenance-operator": map[string]any{ "node-maintenance-operator": map[string]any{
"controllerManager": map[string]any{ "controllerManager": map[string]any{
"manager": map[string]any{ "manager": map[string]any{
"image": versions.NodeMaintenanceOperatorImage, "image": i.nodeMaintenanceOperatorImage,
}, },
}, },
}, },

View file

@ -170,7 +170,15 @@ func TestOperators(t *testing.T) {
assert := assert.New(t) assert := assert.New(t)
require := require.New(t) require := require.New(t)
chartLoader := ChartLoader{joinServiceImage: "joinServiceImage", kmsImage: "kmsImage", ccmImage: "ccmImage", cnmImage: "cnmImage", autoscalerImage: "autoscalerImage"} chartLoader := ChartLoader{
joinServiceImage: "joinServiceImage",
kmsImage: "kmsImage",
ccmImage: "ccmImage",
cnmImage: "cnmImage",
autoscalerImage: "autoscalerImage",
constellationOperatorImage: "constellationOperatorImage",
nodeMaintenanceOperatorImage: "nodeMaintenanceOperatorImage",
}
chart, vals, err := chartLoader.loadOperatorsHelper(tc.csp) chart, vals, err := chartLoader.loadOperatorsHelper(tc.csp)
require.NoError(err) require.NoError(err)

View file

@ -71,7 +71,7 @@ spec:
value: Azure value: Azure
- name: constellation-uid - name: constellation-uid
value: "42424242424242" value: "42424242424242"
image: ghcr.io/edgelesssys/constellation/node-operator:v2.3.0-pre.0.20221125134926-1af3ff00adbc@sha256:fae7160eba0259d3dcbe974460ff983ae2c6cab18319a5b8ef585dd1630cb077 image: constellationOperatorImage
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz

View file

@ -64,7 +64,7 @@ spec:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: KUBERNETES_CLUSTER_DOMAIN - name: KUBERNETES_CLUSTER_DOMAIN
value: cluster.local value: cluster.local
image: ghcr.io/edgelesssys/constellation/node-maintenance-operator:v0.13.1-alpha1@sha256:e011d428dba3ef66a2a4656a2bf58bcfe89836c62b0a75676f5c12350502a3cf image: nodeMaintenanceOperatorImage
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz

View file

@ -71,7 +71,7 @@ spec:
value: GCP value: GCP
- name: constellation-uid - name: constellation-uid
value: "42424242424242" value: "42424242424242"
image: ghcr.io/edgelesssys/constellation/node-operator:v2.3.0-pre.0.20221125134926-1af3ff00adbc@sha256:fae7160eba0259d3dcbe974460ff983ae2c6cab18319a5b8ef585dd1630cb077 image: constellationOperatorImage
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz

View file

@ -64,7 +64,7 @@ spec:
fieldPath: metadata.namespace fieldPath: metadata.namespace
- name: KUBERNETES_CLUSTER_DOMAIN - name: KUBERNETES_CLUSTER_DOMAIN
value: cluster.local value: cluster.local
image: ghcr.io/edgelesssys/constellation/node-maintenance-operator:v0.13.1-alpha1@sha256:e011d428dba3ef66a2a4656a2bf58bcfe89836c62b0a75676f5c12350502a3cf image: nodeMaintenanceOperatorImage
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /healthz path: /healthz