From 16c0e39dd5f02b90e16a16ba97de0409c6f392c8 Mon Sep 17 00:00:00 2001 From: Malte Poll <1780588+malt3@users.noreply.github.com> Date: Mon, 12 Feb 2024 11:52:32 +0100 Subject: [PATCH] helm: move yawol into a separate release --- internal/constellation/helm/BUILD.bazel | 44 +++++++++-------- .../constellation-services/Chart.yaml | 10 ---- .../constellation-services/values.yaml | 4 -- .../charts/yawol-config => yawol}/.helmignore | 0 .../helm/charts/yawol/Chart.yaml | 10 ++++ .../yawol/charts/yawol-config/.helmignore | 23 +++++++++ .../charts/yawol-config/Chart.yaml | 0 .../charts/yawol-config/templates/secret.yaml | 0 .../charts/yawol-config/values.schema.json | 0 .../charts/yawol-config/values.yaml | 0 .../charts/yawol-controller/Chart.yaml | 0 .../charts/yawol-controller/README.md | 0 ...ol.stackit.cloud_loadbalancermachines.yaml | 0 .../yawol.stackit.cloud_loadbalancers.yaml | 0 .../yawol.stackit.cloud_loadbalancersets.yaml | 0 .../yawol-controller/templates/_helpers.tpl | 0 .../rbac-yawol-cloud-controller.yaml | 0 .../templates/rbac-yawol-controller.yaml | 0 .../templates/sa-yawol-cloud-controller.yaml | 0 .../templates/sa-yawol-controller.yaml | 0 .../yawol-controller/templates/vpa.yaml | 0 .../templates/yawol-cloud-controller.yaml | 0 .../templates/yawol-controller.yaml | 0 .../templates/yawol-gardener-monitoring.yaml | 0 .../charts/yawol-controller/values.yaml | 0 .../helm/charts/yawol/templates/.gitkeep | 0 .../helm/charts/yawol/values.yaml | 0 internal/constellation/helm/loader.go | 17 ++++++- internal/constellation/helm/overrides.go | 48 +++++++++++-------- 29 files changed, 101 insertions(+), 55 deletions(-) rename internal/constellation/helm/charts/{edgeless/constellation-services/charts/yawol-config => yawol}/.helmignore (100%) create mode 100644 internal/constellation/helm/charts/yawol/Chart.yaml create mode 100644 internal/constellation/helm/charts/yawol/charts/yawol-config/.helmignore rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-config/Chart.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-config/templates/secret.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-config/values.schema.json (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-config/values.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/Chart.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/README.md (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/_helpers.tpl (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/rbac-yawol-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/sa-yawol-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/vpa.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/yawol-cloud-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/yawol-controller.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml (100%) rename internal/constellation/helm/charts/{edgeless/constellation-services => yawol}/charts/yawol-controller/values.yaml (100%) create mode 100644 internal/constellation/helm/charts/yawol/templates/.gitkeep create mode 100644 internal/constellation/helm/charts/yawol/values.yaml diff --git a/internal/constellation/helm/BUILD.bazel b/internal/constellation/helm/BUILD.bazel index f503b6b71..194a70ab7 100644 --- a/internal/constellation/helm/BUILD.bazel +++ b/internal/constellation/helm/BUILD.bazel @@ -287,26 +287,6 @@ go_library( "charts/edgeless/operators/values.yaml", "charts/edgeless/constellation-services/charts/ccm/templates/openstack-daemonset.yaml", "charts/edgeless/constellation-services/charts/ccm/templates/openstack-secret.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/Chart.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/README.md", - "charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/_helpers.tpl", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/vpa.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-cloud-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-controller.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml", - "charts/edgeless/constellation-services/charts/yawol-controller/values.yaml", - "charts/edgeless/constellation-services/charts/yawol-config/.helmignore", - "charts/edgeless/constellation-services/charts/yawol-config/Chart.yaml", - "charts/edgeless/constellation-services/charts/yawol-config/templates/secret.yaml", - "charts/edgeless/constellation-services/charts/yawol-config/values.schema.json", - "charts/edgeless/constellation-services/charts/yawol-config/values.yaml", "charts/aws-load-balancer-controller/.helmignore", "charts/aws-load-balancer-controller/Chart.yaml", "charts/aws-load-balancer-controller/README.md", @@ -452,6 +432,30 @@ go_library( "charts/cert-manager/templates/webhook-poddisruptionbudget.yaml", "charts/edgeless/constellation-services/charts/autoscaler/templates/coredns-pdb.yaml", "charts/cilium/templates/cilium-flowlog-configmap.yaml", + "charts/yawol/.helmignore", + "charts/yawol/Chart.yaml", + "charts/yawol/charts/yawol-config/.helmignore", + "charts/yawol/charts/yawol-config/Chart.yaml", + "charts/yawol/charts/yawol-config/templates/secret.yaml", + "charts/yawol/charts/yawol-config/values.schema.json", + "charts/yawol/charts/yawol-config/values.yaml", + "charts/yawol/charts/yawol-controller/Chart.yaml", + "charts/yawol/charts/yawol-controller/README.md", + "charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml", + "charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml", + "charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml", + "charts/yawol/charts/yawol-controller/templates/_helpers.tpl", + "charts/yawol/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/rbac-yawol-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/sa-yawol-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/vpa.yaml", + "charts/yawol/charts/yawol-controller/templates/yawol-cloud-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/yawol-controller.yaml", + "charts/yawol/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml", + "charts/yawol/charts/yawol-controller/values.yaml", + "charts/yawol/templates/.gitkeep", + "charts/yawol/values.yaml", ], importpath = "github.com/edgelesssys/constellation/v2/internal/constellation/helm", visibility = ["//:__subpackages__"], diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/Chart.yaml b/internal/constellation/helm/charts/edgeless/constellation-services/Chart.yaml index 4cabb5528..9980be91a 100644 --- a/internal/constellation/helm/charts/edgeless/constellation-services/Chart.yaml +++ b/internal/constellation/helm/charts/edgeless/constellation-services/Chart.yaml @@ -49,13 +49,3 @@ dependencies: version: 0.0.0 tags: - GCP - - name: yawol-config - version: 0.0.0 - condition: openstack.deployYawolLoadBalancer - tags: - - OpenStack - - name: yawol-controller - version: 0.0.0 - condition: openstack.deployYawolLoadBalancer - tags: - - OpenStack diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/values.yaml b/internal/constellation/helm/charts/edgeless/constellation-services/values.yaml index 05fd7c910..6f97e8e3e 100644 --- a/internal/constellation/helm/charts/edgeless/constellation-services/values.yaml +++ b/internal/constellation/helm/charts/edgeless/constellation-services/values.yaml @@ -8,10 +8,6 @@ global: # Name of the ConfigMap that holds configs that should not be modified by the user. internalCMName: internal-config -# OpenStack specific configuration -openstack: - deployYawolLoadBalancer: false - # Set one of the tags to true to indicate which CSP you are deploying to. tags: AWS: false diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/.helmignore b/internal/constellation/helm/charts/yawol/.helmignore similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/.helmignore rename to internal/constellation/helm/charts/yawol/.helmignore diff --git a/internal/constellation/helm/charts/yawol/Chart.yaml b/internal/constellation/helm/charts/yawol/Chart.yaml new file mode 100644 index 000000000..4f270e19e --- /dev/null +++ b/internal/constellation/helm/charts/yawol/Chart.yaml @@ -0,0 +1,10 @@ +apiVersion: v2 +name: yawol +description: A chart to deploy the yawol loadbalancer +type: application +version: 0.0.0 +dependencies: + - name: yawol-config + version: 0.0.0 + - name: yawol-controller + version: 0.0.0 diff --git a/internal/constellation/helm/charts/yawol/charts/yawol-config/.helmignore b/internal/constellation/helm/charts/yawol/charts/yawol-config/.helmignore new file mode 100644 index 000000000..0e8a0eb36 --- /dev/null +++ b/internal/constellation/helm/charts/yawol/charts/yawol-config/.helmignore @@ -0,0 +1,23 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*.orig +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/Chart.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-config/Chart.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/Chart.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-config/Chart.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/templates/secret.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-config/templates/secret.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/templates/secret.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-config/templates/secret.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/values.schema.json b/internal/constellation/helm/charts/yawol/charts/yawol-config/values.schema.json similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/values.schema.json rename to internal/constellation/helm/charts/yawol/charts/yawol-config/values.schema.json diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/values.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-config/values.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-config/values.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-config/values.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/Chart.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/Chart.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/Chart.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/Chart.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/README.md b/internal/constellation/helm/charts/yawol/charts/yawol-controller/README.md similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/README.md rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/README.md diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancermachines.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancers.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/crds/yawol.stackit.cloud_loadbalancersets.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/_helpers.tpl b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/_helpers.tpl similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/_helpers.tpl rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/_helpers.tpl diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/rbac-yawol-cloud-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/rbac-yawol-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/rbac-yawol-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/rbac-yawol-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/sa-yawol-cloud-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/sa-yawol-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/sa-yawol-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/sa-yawol-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/vpa.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/vpa.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/vpa.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/vpa.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-cloud-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-cloud-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-cloud-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-cloud-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-controller.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-controller.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-controller.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-controller.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/templates/yawol-gardener-monitoring.yaml diff --git a/internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/values.yaml b/internal/constellation/helm/charts/yawol/charts/yawol-controller/values.yaml similarity index 100% rename from internal/constellation/helm/charts/edgeless/constellation-services/charts/yawol-controller/values.yaml rename to internal/constellation/helm/charts/yawol/charts/yawol-controller/values.yaml diff --git a/internal/constellation/helm/charts/yawol/templates/.gitkeep b/internal/constellation/helm/charts/yawol/templates/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/internal/constellation/helm/charts/yawol/values.yaml b/internal/constellation/helm/charts/yawol/values.yaml new file mode 100644 index 000000000..e69de29bb diff --git a/internal/constellation/helm/loader.go b/internal/constellation/helm/loader.go index 55847dde6..3b3c7ff07 100644 --- a/internal/constellation/helm/loader.go +++ b/internal/constellation/helm/loader.go @@ -55,6 +55,7 @@ var ( constellationOperatorsInfo = chartInfo{releaseName: "constellation-operators", chartName: "constellation-operators", path: "charts/edgeless/operators"} constellationServicesInfo = chartInfo{releaseName: "constellation-services", chartName: "constellation-services", path: "charts/edgeless/constellation-services"} csiInfo = chartInfo{releaseName: "constellation-csi", chartName: "constellation-csi", path: "charts/edgeless/csi"} + yawolLBControllerInfo = chartInfo{releaseName: "yawol", chartName: "yawol", path: "charts/yawol"} ) // chartLoader loads embedded helm charts. @@ -148,7 +149,7 @@ func (i *chartLoader) loadReleases(conformanceMode, deployCSIDriver bool, helmWa } conServicesRelease.values = mergeMaps(conServicesRelease.values, svcVals) - releases := releaseApplyOrder{ciliumRelease, conServicesRelease, certManagerRelease} + releases := releaseApplyOrder{ciliumRelease, conServicesRelease, certManagerRelease, operatorRelease} if deployCSIDriver { csiRelease, err := i.loadRelease(csiInfo, helmWaitMode) if err != nil { @@ -168,7 +169,19 @@ func (i *chartLoader) loadReleases(conformanceMode, deployCSIDriver bool, helmWa } releases = append(releases, awsRelease) } - releases = append(releases, operatorRelease) + if i.csp == cloudprovider.OpenStack && openStackCfg.DeployYawolLoadBalancer != nil && *openStackCfg.DeployYawolLoadBalancer { + yawolRelease, err := i.loadRelease(yawolLBControllerInfo, helmWaitMode) + if err != nil { + return nil, fmt.Errorf("loading yawol chart: %w", err) + } + + yawolVals, err := extraYawolValues(serviceAccURI, i.stateFile.Infrastructure, openStackCfg) + if err != nil { + return nil, fmt.Errorf("extending yawol chart values: %w", err) + } + yawolRelease.values = mergeMaps(yawolRelease.values, yawolVals) + releases = append(releases, yawolRelease) + } return releases, nil } diff --git a/internal/constellation/helm/overrides.go b/internal/constellation/helm/overrides.go index 48e25c1ec..f4b0f5bea 100644 --- a/internal/constellation/helm/overrides.go +++ b/internal/constellation/helm/overrides.go @@ -110,25 +110,6 @@ func extraConstellationServicesValues( "secretData": credsIni, }, } - yawolIni := creds.CloudINI().YawolConfiguration() - extraVals["yawol-config"] = map[string]any{ - "secretData": yawolIni, - } - extraVals["openstack"] = map[string]any{ - "deployYawolLoadBalancer": openStackCfg.DeployYawolLoadBalancer != nil && *openStackCfg.DeployYawolLoadBalancer, - } - if openStackCfg.DeployYawolLoadBalancer != nil && *openStackCfg.DeployYawolLoadBalancer { - extraVals["yawol-controller"] = map[string]any{ - "yawolOSSecretName": "yawolkey", - // has to be larger than ~30s to account for slow OpenStack API calls. - "openstackTimeout": "1m", - "yawolFloatingID": openStackCfg.FloatingIPPoolID, - "yawolFlavorID": openStackCfg.YawolFlavorID, - "yawolImageID": openStackCfg.YawolImageID, - "yawolNetworkID": output.OpenStack.NetworkID, - "yawolAPIHost": fmt.Sprintf("https://%s:%d", output.InClusterEndpoint, constants.KubernetesPort), - } - } case cloudprovider.GCP: serviceAccountKey, err := gcpshared.ServiceAccountKeyFromURI(serviceAccURI) if err != nil { @@ -167,6 +148,35 @@ func extraConstellationServicesValues( return extraVals, nil } +// extraYawolValues extends the given values map by some values depending on user input. +// Values set inside this function are only applied during init, not during upgrade. +func extraYawolValues(serviceAccURI string, output state.Infrastructure, openStackCfg *config.OpenStackConfig) (map[string]any, error) { + extraVals := map[string]any{} + + creds, err := openstack.AccountKeyFromURI(serviceAccURI) + if err != nil { + return nil, err + } + yawolIni := creds.CloudINI().YawolConfiguration() + extraVals["yawol-config"] = map[string]any{ + "secretData": yawolIni, + } + if openStackCfg.DeployYawolLoadBalancer != nil && *openStackCfg.DeployYawolLoadBalancer { + extraVals["yawol-controller"] = map[string]any{ + "yawolOSSecretName": "yawolkey", + // has to be larger than ~30s to account for slow OpenStack API calls. + "openstackTimeout": "1m", + "yawolFloatingID": openStackCfg.FloatingIPPoolID, + "yawolFlavorID": openStackCfg.YawolFlavorID, + "yawolImageID": openStackCfg.YawolImageID, + "yawolNetworkID": output.OpenStack.NetworkID, + "yawolAPIHost": fmt.Sprintf("https://%s:%d", output.InClusterEndpoint, constants.KubernetesPort), + } + } + + return extraVals, nil +} + // cloudConfig is used to marshal the cloud config for the Kubernetes Cloud Controller Manager on Azure. type cloudConfig struct { Cloud string `json:"cloud,omitempty"`