diff --git a/install/installer/pkg/config/v1/envvars.go b/install/installer/pkg/config/v1/envvars.go index 4e632543820460..824af0712207e2 100644 --- a/install/installer/pkg/config/v1/envvars.go +++ b/install/installer/pkg/config/v1/envvars.go @@ -370,6 +370,18 @@ func (v version) BuildFromEnvvars(in interface{}) error { } } + if telemetryValue := envvars.Distribution; telemetryValue != "" { + log.Infof("Setting deployment platform: %s", telemetryValue) + if cfg.Experimental == nil { + cfg.Experimental = &experimental.Config{} + } + + if cfg.Experimental.Telemetry == nil { + cfg.Experimental.Telemetry = &experimental.TelemetryConfig{} + } + cfg.Experimental.Telemetry.Data.Platform = telemetryValue + } + cfg.Components = nil cfg.Customization = nil if envvars.AdvancedModeEnabled { @@ -403,28 +415,17 @@ func (v version) BuildFromEnvvars(in interface{}) error { cfg.Customization = customization.Customization } - } else { - log.Info("No advanced configuration applied") - } - if telemetryValue := envvars.Distribution; telemetryValue != "" { - if cfg.Experimental == nil { - cfg.Experimental = &experimental.Config{} - } - - if cfg.Experimental.Telemetry == nil { - cfg.Experimental.Telemetry = &experimental.TelemetryConfig{} - } - cfg.Experimental.Telemetry.Data.Platform = telemetryValue - } + if cfgPatch := envvars.ConfigPatch; cfgPatch != "" { + log.Warnf("Applying patch customization - this may overwrite all settings: %+v", cfgPatch) - if cfgPatch := envvars.ConfigPatch; cfgPatch != "" { - log.Warnf("Applying patch customization - this may overwrite all settings: %+v", cfgPatch) - - err := yaml.Unmarshal([]byte(cfgPatch), &cfg) - if err != nil { - return err + err := yaml.Unmarshal([]byte(cfgPatch), &cfg) + if err != nil { + return err + } } + } else { + log.Info("No advanced configuration applied") } return nil diff --git a/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/envvars.yaml b/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/envvars.yaml new file mode 100644 index 00000000000000..d75bca67817a58 --- /dev/null +++ b/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/envvars.yaml @@ -0,0 +1,7 @@ +# Copyright (c) 2022 Gitpod GmbH. All rights reserved. +# Licensed under the MIT License. See License-MIT.txt in the project root for license information. + +envvars: + # This will be ignored as advanced mode not enabled + CONFIG_PATCH: "domain: override.gitpod.io" + DOMAIN: gitpod.io diff --git a/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/expect.yaml b/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/expect.yaml new file mode 100644 index 00000000000000..1b6bed9ae0630c --- /dev/null +++ b/install/installer/pkg/config/v1/testdata/envvars/config-patch-no-advanced-mode/expect.yaml @@ -0,0 +1,4 @@ +# Copyright (c) 2022 Gitpod GmbH. All rights reserved. +# Licensed under the MIT License. See License-MIT.txt in the project root for license information. + +domain: gitpod.io diff --git a/install/installer/pkg/config/v1/testdata/envvars/config-patch/envvars.yaml b/install/installer/pkg/config/v1/testdata/envvars/config-patch/envvars.yaml index 829a0fd33ae7ad..065263ce92fdc6 100644 --- a/install/installer/pkg/config/v1/testdata/envvars/config-patch/envvars.yaml +++ b/install/installer/pkg/config/v1/testdata/envvars/config-patch/envvars.yaml @@ -2,5 +2,6 @@ # Licensed under the MIT License. See License-MIT.txt in the project root for license information. envvars: + ADVANCED_MODE_ENABLED: "1" CONFIG_PATCH: "domain: override.gitpod.io" DOMAIN: gitpod.io