From 6d7ae5c11cddd197bc2c03f095c8433c82e33041 Mon Sep 17 00:00:00 2001 From: utkuerol Date: Tue, 9 Jun 2026 09:10:19 +0200 Subject: [PATCH 1/2] chore: add new managed service providers --- internal/installer/config_manager_profile.go | 3 +++ internal/installer/files/config_yaml.go | 14 ++++++++++++-- internal/installer/resource_profiles.go | 15 +++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/internal/installer/config_manager_profile.go b/internal/installer/config_manager_profile.go index 4840e6ad..8ebe0aa5 100644 --- a/internal/installer/config_manager_profile.go +++ b/internal/installer/config_manager_profile.go @@ -182,6 +182,9 @@ func (g *InstallConfig) applyCommonProperties() { {Name: "s3", Version: "v1"}, {Name: "virtual-k8s", Version: "v1"}, {Name: "ferretdb", Version: "v0"}, + {Name: "opensearch", Version: "v0"}, + {Name: "rabbitmq", Version: "v0"}, + {Name: "valkey", Version: "v0"}, } } if g.Config.Secrets.BaseDir == "" { diff --git a/internal/installer/files/config_yaml.go b/internal/installer/files/config_yaml.go index 9fe8bc93..7b407ad2 100644 --- a/internal/installer/files/config_yaml.go +++ b/internal/installer/files/config_yaml.go @@ -549,8 +549,10 @@ type PlanParam struct { } type ManagedServiceBackendsConfig struct { - Postgres *PgManagedServiceConfig `yaml:"postgres,omitempty"` - S3 *S3ManagedServiceConfig `yaml:"s3,omitempty"` + Postgres *PgManagedServiceConfig `yaml:"postgres,omitempty"` + S3 *S3ManagedServiceConfig `yaml:"s3,omitempty"` + RabbitMqOperator *RabbitMqOperatorConfig `yaml:"rabbitMqOperator,omitempty"` + K8sBackend *K8sBackendManagedServiceConfig `yaml:"k8sBackend,omitempty"` } type MonitoringConfig struct { @@ -631,10 +633,18 @@ type PgManagedServiceConfig struct { Override ChartOverride `yaml:"override,omitempty"` } +type K8sBackendManagedServiceConfig struct { + Override ChartOverride `yaml:"override,omitempty"` +} + type S3ManagedServiceConfig struct { Override ChartOverride `yaml:"override,omitempty"` } +type RabbitMqOperatorConfig struct { + Override ChartOverride `yaml:"override,omitempty"` +} + // Marshal serializes the RootConfig to YAML func (c *RootConfig) Marshal() ([]byte, error) { c.buildACMEOverride() diff --git a/internal/installer/resource_profiles.go b/internal/installer/resource_profiles.go index a8c4b3a0..d4f28403 100644 --- a/internal/installer/resource_profiles.go +++ b/internal/installer/resource_profiles.go @@ -222,6 +222,21 @@ func applyNoRequestsProfile(config *files.RootConfig) { }, }) + if config.ManagedServiceBackends.K8sBackend == nil { + config.ManagedServiceBackends.K8sBackend = &files.K8sBackendManagedServiceConfig{} + } + config.ManagedServiceBackends.K8sBackend.Override = util.DeepMergeMaps(config.ManagedServiceBackends.K8sBackend.Override, map[string]any{ + "replicas": 1, + "resources": map[string]any{ + "requests": zeroRequests(), + }, + }) + + // TODO(CU-869dm2x7t): update rabbitmq operator chart to make replicas and resources configurable via helm values + if config.ManagedServiceBackends.RabbitMqOperator == nil { + config.ManagedServiceBackends.RabbitMqOperator = &files.RabbitMqOperatorConfig{} + } + serviceProfiles := map[string]any{} for _, serviceName := range []string{ "auth_service", From 071dc2d62849ce19dd5b0a97c8fea7bc218a7ef0 Mon Sep 17 00:00:00 2001 From: utkuerol Date: Tue, 9 Jun 2026 09:16:09 +0200 Subject: [PATCH 2/2] adjust tests Signed-off-by: utkuerol --- internal/installer/config_manager_profile_test.go | 12 +++++++++++- internal/installer/resource_profiles_test.go | 9 +++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/internal/installer/config_manager_profile_test.go b/internal/installer/config_manager_profile_test.go index c76d2a7f..da889348 100644 --- a/internal/installer/config_manager_profile_test.go +++ b/internal/installer/config_manager_profile_test.go @@ -153,7 +153,17 @@ var _ = Describe("ConfigManagerProfile", func() { // Managed service config Expect(config.Codesphere.ManagedServices).ToNot(BeNil()) - Expect(len(config.Codesphere.ManagedServices)).To(Equal(5)) + Expect(config.Codesphere.ManagedServices).To(ContainElements( + files.ManagedServiceConfig{Name: "postgres", Version: "v1"}, + files.ManagedServiceConfig{Name: "babelfish", Version: "v1"}, + files.ManagedServiceConfig{Name: "s3", Version: "v1"}, + files.ManagedServiceConfig{Name: "virtual-k8s", Version: "v1"}, + files.ManagedServiceConfig{Name: "ferretdb", Version: "v0"}, + files.ManagedServiceConfig{Name: "opensearch", Version: "v0"}, + files.ManagedServiceConfig{Name: "rabbitmq", Version: "v0"}, + files.ManagedServiceConfig{Name: "valkey", Version: "v0"}, + )) + Expect(len(config.Codesphere.ManagedServices)).To(Equal(8)) // Secrets Expect(config.Secrets.BaseDir).To(Equal("/root/secrets")) diff --git a/internal/installer/resource_profiles_test.go b/internal/installer/resource_profiles_test.go index 449db6ef..946fcd06 100644 --- a/internal/installer/resource_profiles_test.go +++ b/internal/installer/resource_profiles_test.go @@ -87,6 +87,8 @@ var _ = Describe("ApplyResourceProfile", func() { Expect(config.ManagedServiceBackends).NotTo(BeNil()) Expect(config.ManagedServiceBackends.Postgres).NotTo(BeNil()) Expect(config.ManagedServiceBackends.S3).NotTo(BeNil()) + Expect(config.ManagedServiceBackends.K8sBackend).NotTo(BeNil()) + Expect(config.ManagedServiceBackends.RabbitMqOperator).NotTo(BeNil()) trustManager := MustMap[any](config.Cluster.TrustManager.Override["trust-manager"]) AssertZeroRequests(MustMap[any](trustManager["resources"])["requests"]) @@ -106,6 +108,13 @@ var _ = Describe("ApplyResourceProfile", func() { managedS3 := config.ManagedServiceBackends.S3.Override Expect(managedS3["replicas"]).To(Equal(1)) AssertZeroRequests(MustMap[any](managedS3["resources"])["requests"]) + + managedK8sBackend := config.ManagedServiceBackends.K8sBackend.Override + Expect(managedK8sBackend["replicas"]).To(Equal(1)) + AssertZeroRequests(MustMap[any](managedK8sBackend["resources"])["requests"]) + + // TODO(CU-869dm2x7t): add assertions for rabbitmq operator once it's updated to support resource and replica configuration + Expect(config.ManagedServiceBackends.RabbitMqOperator.Override).To(BeNil()) }) })