From 046b4dfccfcf6b688ddecc87f8ac141ad259ab8a Mon Sep 17 00:00:00 2001 From: Jennifer Ubah Date: Mon, 31 Aug 2026 18:54:44 -0400 Subject: [PATCH 1/3] Rename config fields Assisted-By: Cursor AI Signed-off-by: Jennifer Ubah --- internal/config/config.go | 11 +++++++--- .../acmcluster/config/config_test.go | 4 ++-- internal/openshift/container/config/config.go | 2 +- .../container/config/config_unit_test.go | 20 ++++++++++++++++++- .../openshift/kubevirtvm/config/config.go | 2 +- internal/openshift/shared/config.go | 2 +- internal/openshift/shared/config_unit_test.go | 4 ++-- internal/openshift/storage/config/config.go | 2 +- 8 files changed, 35 insertions(+), 12 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index 0074a53..d40e87b 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -23,6 +23,7 @@ type Config struct { Provider ProviderConfig `envPrefix:"AGENT_"` Health HealthConfig `envPrefix:"AGENT_"` Agent AgentConfig `envPrefix:"AGENT_"` + SP SPConfig `envPrefix:""` DCM DCMConfig `envPrefix:"DCM_"` Heartbeat HeartbeatConfig `envPrefix:"AGENT_"` Messaging MessagingConfig `envPrefix:"AGENT_"` @@ -62,9 +63,13 @@ type AgentConfig struct { Name string `env:"NAME"` Environment string `env:"ENVIRONMENT"` Cost string `env:"COST"` - // Kubeconfig is the default kubeconfig path for embedded SPs (AGENT_KUBECONFIG). - // When empty, SPs use in-cluster configuration unless overridden per SP. - Kubeconfig string `env:"KUBECONFIG"` +} + +// SPConfig holds shared defaults for embedded service providers. +type SPConfig struct { + // DefaultKubeconfig is the kubeconfig path shared by all embedded SPs (SP_DEFAULT_KUBECONFIG). + // When empty, SPs use in-cluster configuration unless overridden per SP via SP_KUBECONFIG. + DefaultKubeconfig string `env:"SP_DEFAULT_KUBECONFIG"` } // DCMConfig holds DCM registration configuration. diff --git a/internal/openshift/acmcluster/config/config_test.go b/internal/openshift/acmcluster/config/config_test.go index 405725d..f455fac 100644 --- a/internal/openshift/acmcluster/config/config_test.go +++ b/internal/openshift/acmcluster/config/config_test.go @@ -66,7 +66,7 @@ var _ = Describe("Config", func() { Expect(err.Error()).To(ContainSubstring("messaging URL is required")) }) - It("uses agent kubeconfig when SP_KUBECONFIG is unset", func() { + It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { setAllRequired() cfg, err := config.Load(shared.Agent{ @@ -77,7 +77,7 @@ var _ = Describe("Config", func() { Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) }) - It("prefers SP_KUBECONFIG over agent kubeconfig", func() { + It("prefers SP_KUBECONFIG over SP_DEFAULT_KUBECONFIG", func() { setAllRequired() GinkgoT().Setenv("SP_KUBECONFIG", "/sp/kubeconfig") diff --git a/internal/openshift/container/config/config.go b/internal/openshift/container/config/config.go index 2671c1c..0a00a0b 100644 --- a/internal/openshift/container/config/config.go +++ b/internal/openshift/container/config/config.go @@ -14,7 +14,7 @@ const defaultProviderName = "container-sp" // Config is the root configuration for the embedded container service provider. type Config struct { shared.Config - Namespace string `env:"SP_K8S_NAMESPACE" envDefault:"default"` + Namespace string `env:"SP_CONTAINER_NAMESPACE" envDefault:"default"` ExternalServiceType string `env:"SP_K8S_EXTERNAL_SVC_TYPE"` DebounceMs int `env:"SP_MONITOR_DEBOUNCE_MS" envDefault:"500"` ResyncPeriod time.Duration `env:"SP_MONITOR_RESYNC_PERIOD" envDefault:"10m"` diff --git a/internal/openshift/container/config/config_unit_test.go b/internal/openshift/container/config/config_unit_test.go index 8551fd6..cc46fea 100644 --- a/internal/openshift/container/config/config_unit_test.go +++ b/internal/openshift/container/config/config_unit_test.go @@ -16,6 +16,7 @@ var _ = Describe("Configuration", func() { clearEnv := func() { _ = os.Unsetenv("SP_NAME") + _ = os.Unsetenv("SP_CONTAINER_NAMESPACE") _ = os.Unsetenv("SP_K8S_EXTERNAL_SVC_TYPE") _ = os.Unsetenv("SP_KUBECONFIG") _ = os.Unsetenv("SP_MONITOR_DEBOUNCE_MS") @@ -80,7 +81,7 @@ var _ = Describe("Configuration", func() { Expect(err.Error()).To(ContainSubstring("must be LoadBalancer or NodePort")) }) - It("uses agent kubeconfig when SP_KUBECONFIG is unset", func() { + It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") cfg, err := config.Load(shared.Agent{ @@ -90,4 +91,21 @@ var _ = Describe("Configuration", func() { Expect(err).NotTo(HaveOccurred()) Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) }) + + It("uses SP_CONTAINER_NAMESPACE when set", func() { + _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") + _ = os.Setenv("SP_CONTAINER_NAMESPACE", "containers") + + cfg, err := config.Load(shared.Agent{MessagingURL: "nats://test:4222"}) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("containers")) + }) + + It("defaults namespace to default when SP_CONTAINER_NAMESPACE is unset", func() { + _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") + + cfg, err := config.Load(shared.Agent{MessagingURL: "nats://test:4222"}) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("default")) + }) }) diff --git a/internal/openshift/kubevirtvm/config/config.go b/internal/openshift/kubevirtvm/config/config.go index 78ad281..bda1d32 100644 --- a/internal/openshift/kubevirtvm/config/config.go +++ b/internal/openshift/kubevirtvm/config/config.go @@ -14,7 +14,7 @@ const defaultProviderName = "kubevirt-vm-sp" // Config is the root configuration for the embedded VM service provider. type Config struct { shared.Config - Namespace string `env:"KUBERNETES_NAMESPACE" envDefault:"default"` + Namespace string `env:"SP_VM_NAMESPACE" envDefault:"default"` Timeout time.Duration `env:"KUBERNETES_TIMEOUT" envDefault:"60s"` MaxRetries int `env:"KUBERNETES_MAX_RETRIES" envDefault:"3"` NATSMaxReconnect int `env:"NATS_MAX_RECONNECT" envDefault:"-1"` diff --git a/internal/openshift/shared/config.go b/internal/openshift/shared/config.go index 1fc5f0a..8d03caa 100644 --- a/internal/openshift/shared/config.go +++ b/internal/openshift/shared/config.go @@ -28,7 +28,7 @@ func FromAgent(cfg *agentconfig.Config) Agent { } return Agent{ MessagingURL: cfg.Messaging.URL, - Kubeconfig: cfg.Agent.Kubeconfig, + Kubeconfig: cfg.SP.DefaultKubeconfig, } } diff --git a/internal/openshift/shared/config_unit_test.go b/internal/openshift/shared/config_unit_test.go index 6da7e98..1a7ed63 100644 --- a/internal/openshift/shared/config_unit_test.go +++ b/internal/openshift/shared/config_unit_test.go @@ -21,7 +21,7 @@ var _ = Describe("Config", Label("unit"), func() { Expect(err).To(MatchError("messaging URL is required")) }) - It("uses agent kubeconfig when SP_KUBECONFIG is unset", func() { + It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { cfg := shared.Config{} err := shared.LoadInto(&cfg, shared.Agent{ MessagingURL: "nats://agent:4222", @@ -33,7 +33,7 @@ var _ = Describe("Config", Label("unit"), func() { Expect(cfg.Name).To(Equal("test-sp")) }) - It("prefers SP_KUBECONFIG over agent kubeconfig", func() { + It("prefers SP_KUBECONFIG over SP_DEFAULT_KUBECONFIG", func() { GinkgoT().Setenv("SP_KUBECONFIG", "/sp/kubeconfig") cfg := shared.Config{} diff --git a/internal/openshift/storage/config/config.go b/internal/openshift/storage/config/config.go index a52dcff..6a43929 100644 --- a/internal/openshift/storage/config/config.go +++ b/internal/openshift/storage/config/config.go @@ -14,7 +14,7 @@ const defaultProviderName = "storage" // Config is the root configuration for the embedded storage service provider. type Config struct { shared.Config - Namespace string `env:"SP_K8S_NAMESPACE" envDefault:"default"` + Namespace string `env:"SP_STORAGE_NAMESPACE" envDefault:"default"` DefaultStorageClass string `env:"SP_K8S_DEFAULT_STORAGE_CLASS"` DefaultAccessMode string `env:"SP_K8S_DEFAULT_ACCESS_MODE" envDefault:"ReadWriteOnce"` DebounceMs int `env:"SP_MONITOR_DEBOUNCE_MS" envDefault:"500"` From 94e1ba51b66d5c9c42a14c67d55f0dc04f5191e2 Mon Sep 17 00:00:00 2001 From: Jennifer Ubah Date: Wed, 2 Sep 2026 12:37:07 -0400 Subject: [PATCH 2/3] Update unit test Assisted-By: Cursor AI Signed-off-by: Jennifer Ubah --- internal/config/config_test.go | 12 +++++ .../acmcluster/config/config_test.go | 4 +- .../container/config/config_unit_test.go | 16 ++++++- .../kubevirtvm/config/config_test.go | 13 ++++++ .../kubevirtvm/config/config_unit_test.go | 43 ++++++++++++++++++ internal/openshift/shared/config_unit_test.go | 16 ++++++- .../openshift/storage/config/config_test.go | 13 ++++++ .../storage/config/config_unit_test.go | 44 +++++++++++++++++++ 8 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 internal/openshift/kubevirtvm/config/config_test.go create mode 100644 internal/openshift/kubevirtvm/config/config_unit_test.go create mode 100644 internal/openshift/storage/config/config_test.go create mode 100644 internal/openshift/storage/config/config_unit_test.go diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 3a06f0d..67c7397 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -525,6 +525,18 @@ var _ = Describe("Topic 6 Config", Label("unit"), func() { }) }) +var _ = Describe("SP Config", Label("unit"), func() { + Describe("Load", func() { + It("parses SP_DEFAULT_KUBECONFIG from env", func() { + GinkgoT().Setenv("SP_DEFAULT_KUBECONFIG", "/etc/agent/kubeconfig") + + cfg, err := config.Load() + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.SP.DefaultKubeconfig).To(Equal("/etc/agent/kubeconfig")) + }) + }) +}) + // writeConfigFile writes a .env-style (KEY=VALUE per line) config file and // points AGENT_CONFIG_FILE at it. This is REQ-XC-CFG-010's MAY-level // file-based config support. diff --git a/internal/openshift/acmcluster/config/config_test.go b/internal/openshift/acmcluster/config/config_test.go index f455fac..062aa90 100644 --- a/internal/openshift/acmcluster/config/config_test.go +++ b/internal/openshift/acmcluster/config/config_test.go @@ -66,7 +66,7 @@ var _ = Describe("Config", func() { Expect(err.Error()).To(ContainSubstring("messaging URL is required")) }) - It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { + It("uses kubeconfig from shared.Agent when SP_KUBECONFIG is unset", func() { setAllRequired() cfg, err := config.Load(shared.Agent{ @@ -77,7 +77,7 @@ var _ = Describe("Config", func() { Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) }) - It("prefers SP_KUBECONFIG over SP_DEFAULT_KUBECONFIG", func() { + It("prefers SP_KUBECONFIG over kubeconfig from shared.Agent", func() { setAllRequired() GinkgoT().Setenv("SP_KUBECONFIG", "/sp/kubeconfig") diff --git a/internal/openshift/container/config/config_unit_test.go b/internal/openshift/container/config/config_unit_test.go index cc46fea..64d9506 100644 --- a/internal/openshift/container/config/config_unit_test.go +++ b/internal/openshift/container/config/config_unit_test.go @@ -7,6 +7,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" + agentconfig "github.com/dcm-project/environment-agent/internal/config" "github.com/dcm-project/environment-agent/internal/openshift/container/config" "github.com/dcm-project/environment-agent/internal/openshift/shared" ) @@ -81,7 +82,7 @@ var _ = Describe("Configuration", func() { Expect(err.Error()).To(ContainSubstring("must be LoadBalancer or NodePort")) }) - It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { + It("uses kubeconfig from shared.Agent when SP_KUBECONFIG is unset", func() { _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") cfg, err := config.Load(shared.Agent{ @@ -92,6 +93,19 @@ var _ = Describe("Configuration", func() { Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) }) + It("uses SP_DEFAULT_KUBECONFIG via config.Load and FromAgent when SP_KUBECONFIG is unset", func() { + _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") + GinkgoT().Setenv("SP_DEFAULT_KUBECONFIG", "/etc/agent/kubeconfig") + GinkgoT().Setenv("AGENT_MESSAGING_URL", "nats://test:4222") + + agentCfg, err := agentconfig.Load() + Expect(err).NotTo(HaveOccurred()) + + cfg, err := config.Load(shared.FromAgent(agentCfg)) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) + }) + It("uses SP_CONTAINER_NAMESPACE when set", func() { _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") _ = os.Setenv("SP_CONTAINER_NAMESPACE", "containers") diff --git a/internal/openshift/kubevirtvm/config/config_test.go b/internal/openshift/kubevirtvm/config/config_test.go new file mode 100644 index 0000000..c6e29ba --- /dev/null +++ b/internal/openshift/kubevirtvm/config/config_test.go @@ -0,0 +1,13 @@ +package config_test + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestConfig(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Config Suite") +} diff --git a/internal/openshift/kubevirtvm/config/config_unit_test.go b/internal/openshift/kubevirtvm/config/config_unit_test.go new file mode 100644 index 0000000..1c3ff7b --- /dev/null +++ b/internal/openshift/kubevirtvm/config/config_unit_test.go @@ -0,0 +1,43 @@ +package config_test + +import ( + "os" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/dcm-project/environment-agent/internal/openshift/kubevirtvm/config" + "github.com/dcm-project/environment-agent/internal/openshift/shared" +) + +var _ = Describe("Configuration", func() { + agentDefaults := shared.Agent{MessagingURL: "nats://test:4222"} + + clearEnv := func() { + _ = os.Unsetenv("SP_NAME") + _ = os.Unsetenv("SP_VM_NAMESPACE") + _ = os.Unsetenv("SP_KUBECONFIG") + } + + BeforeEach(func() { + clearEnv() + }) + + AfterEach(func() { + clearEnv() + }) + + It("uses SP_VM_NAMESPACE when set", func() { + _ = os.Setenv("SP_VM_NAMESPACE", "vms") + + cfg, err := config.Load(agentDefaults) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("vms")) + }) + + It("defaults namespace to default when SP_VM_NAMESPACE is unset", func() { + cfg, err := config.Load(agentDefaults) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("default")) + }) +}) diff --git a/internal/openshift/shared/config_unit_test.go b/internal/openshift/shared/config_unit_test.go index 1a7ed63..dfa3da1 100644 --- a/internal/openshift/shared/config_unit_test.go +++ b/internal/openshift/shared/config_unit_test.go @@ -6,6 +6,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" + "github.com/dcm-project/environment-agent/internal/config" "github.com/dcm-project/environment-agent/internal/openshift/shared" ) @@ -21,7 +22,7 @@ var _ = Describe("Config", Label("unit"), func() { Expect(err).To(MatchError("messaging URL is required")) }) - It("uses SP_DEFAULT_KUBECONFIG when SP_KUBECONFIG is unset", func() { + It("uses kubeconfig from shared.Agent when SP_KUBECONFIG is unset", func() { cfg := shared.Config{} err := shared.LoadInto(&cfg, shared.Agent{ MessagingURL: "nats://agent:4222", @@ -33,7 +34,7 @@ var _ = Describe("Config", Label("unit"), func() { Expect(cfg.Name).To(Equal("test-sp")) }) - It("prefers SP_KUBECONFIG over SP_DEFAULT_KUBECONFIG", func() { + It("prefers SP_KUBECONFIG over kubeconfig from shared.Agent", func() { GinkgoT().Setenv("SP_KUBECONFIG", "/sp/kubeconfig") cfg := shared.Config{} @@ -53,4 +54,15 @@ var _ = Describe("Config", Label("unit"), func() { Expect(err).NotTo(HaveOccurred()) Expect(cfg.Name).To(Equal("custom-sp")) }) + + It("maps SP_DEFAULT_KUBECONFIG from agent config via FromAgent", func() { + GinkgoT().Setenv("SP_DEFAULT_KUBECONFIG", "/etc/agent/kubeconfig") + GinkgoT().Setenv("AGENT_MESSAGING_URL", "nats://agent:4222") + + cfg, err := config.Load() + Expect(err).NotTo(HaveOccurred()) + agent := shared.FromAgent(cfg) + Expect(agent.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) + Expect(agent.MessagingURL).To(Equal("nats://agent:4222")) + }) }) diff --git a/internal/openshift/storage/config/config_test.go b/internal/openshift/storage/config/config_test.go new file mode 100644 index 0000000..c6e29ba --- /dev/null +++ b/internal/openshift/storage/config/config_test.go @@ -0,0 +1,13 @@ +package config_test + +import ( + "testing" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +func TestConfig(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Config Suite") +} diff --git a/internal/openshift/storage/config/config_unit_test.go b/internal/openshift/storage/config/config_unit_test.go new file mode 100644 index 0000000..81c6286 --- /dev/null +++ b/internal/openshift/storage/config/config_unit_test.go @@ -0,0 +1,44 @@ +package config_test + +import ( + "os" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + + "github.com/dcm-project/environment-agent/internal/openshift/shared" + "github.com/dcm-project/environment-agent/internal/openshift/storage/config" +) + +var _ = Describe("Configuration", func() { + agentDefaults := shared.Agent{MessagingURL: "nats://test:4222"} + + clearEnv := func() { + _ = os.Unsetenv("SP_NAME") + _ = os.Unsetenv("SP_STORAGE_NAMESPACE") + _ = os.Unsetenv("SP_KUBECONFIG") + _ = os.Unsetenv("SP_K8S_DEFAULT_ACCESS_MODE") + } + + BeforeEach(func() { + clearEnv() + }) + + AfterEach(func() { + clearEnv() + }) + + It("uses SP_STORAGE_NAMESPACE when set", func() { + _ = os.Setenv("SP_STORAGE_NAMESPACE", "storage-ns") + + cfg, err := config.Load(agentDefaults) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("storage-ns")) + }) + + It("defaults namespace to default when SP_STORAGE_NAMESPACE is unset", func() { + cfg, err := config.Load(agentDefaults) + Expect(err).NotTo(HaveOccurred()) + Expect(cfg.Namespace).To(Equal("default")) + }) +}) From cadb6e240c539d9d15f4a9086166cd097122382f Mon Sep 17 00:00:00 2001 From: Jennifer Ubah Date: Fri, 4 Sep 2026 12:48:07 -0400 Subject: [PATCH 3/3] Removed redundant test case Assisted-By: Cursor AI Signed-off-by: Jennifer Ubah --- .../acmcluster/config/config_test.go | 23 ---------- .../container/config/config_unit_test.go | 43 ------------------- 2 files changed, 66 deletions(-) diff --git a/internal/openshift/acmcluster/config/config_test.go b/internal/openshift/acmcluster/config/config_test.go index 062aa90..e3285b9 100644 --- a/internal/openshift/acmcluster/config/config_test.go +++ b/internal/openshift/acmcluster/config/config_test.go @@ -65,27 +65,4 @@ var _ = Describe("Config", func() { Expect(cfg).To(BeNil()) Expect(err.Error()).To(ContainSubstring("messaging URL is required")) }) - - It("uses kubeconfig from shared.Agent when SP_KUBECONFIG is unset", func() { - setAllRequired() - - cfg, err := config.Load(shared.Agent{ - MessagingURL: "nats://localhost:4222", - Kubeconfig: "/etc/agent/kubeconfig", - }) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) - }) - - It("prefers SP_KUBECONFIG over kubeconfig from shared.Agent", func() { - setAllRequired() - GinkgoT().Setenv("SP_KUBECONFIG", "/sp/kubeconfig") - - cfg, err := config.Load(shared.Agent{ - MessagingURL: "nats://localhost:4222", - Kubeconfig: "/agent/kubeconfig", - }) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Kubeconfig).To(Equal("/sp/kubeconfig")) - }) }) diff --git a/internal/openshift/container/config/config_unit_test.go b/internal/openshift/container/config/config_unit_test.go index 64d9506..f939e51 100644 --- a/internal/openshift/container/config/config_unit_test.go +++ b/internal/openshift/container/config/config_unit_test.go @@ -7,7 +7,6 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" - agentconfig "github.com/dcm-project/environment-agent/internal/config" "github.com/dcm-project/environment-agent/internal/openshift/container/config" "github.com/dcm-project/environment-agent/internal/openshift/shared" ) @@ -17,7 +16,6 @@ var _ = Describe("Configuration", func() { clearEnv := func() { _ = os.Unsetenv("SP_NAME") - _ = os.Unsetenv("SP_CONTAINER_NAMESPACE") _ = os.Unsetenv("SP_K8S_EXTERNAL_SVC_TYPE") _ = os.Unsetenv("SP_KUBECONFIG") _ = os.Unsetenv("SP_MONITOR_DEBOUNCE_MS") @@ -81,45 +79,4 @@ var _ = Describe("Configuration", func() { Expect(cfg).To(BeNil()) Expect(err.Error()).To(ContainSubstring("must be LoadBalancer or NodePort")) }) - - It("uses kubeconfig from shared.Agent when SP_KUBECONFIG is unset", func() { - _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") - - cfg, err := config.Load(shared.Agent{ - MessagingURL: "nats://test:4222", - Kubeconfig: "/etc/agent/kubeconfig", - }) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) - }) - - It("uses SP_DEFAULT_KUBECONFIG via config.Load and FromAgent when SP_KUBECONFIG is unset", func() { - _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") - GinkgoT().Setenv("SP_DEFAULT_KUBECONFIG", "/etc/agent/kubeconfig") - GinkgoT().Setenv("AGENT_MESSAGING_URL", "nats://test:4222") - - agentCfg, err := agentconfig.Load() - Expect(err).NotTo(HaveOccurred()) - - cfg, err := config.Load(shared.FromAgent(agentCfg)) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Kubeconfig).To(Equal("/etc/agent/kubeconfig")) - }) - - It("uses SP_CONTAINER_NAMESPACE when set", func() { - _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") - _ = os.Setenv("SP_CONTAINER_NAMESPACE", "containers") - - cfg, err := config.Load(shared.Agent{MessagingURL: "nats://test:4222"}) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Namespace).To(Equal("containers")) - }) - - It("defaults namespace to default when SP_CONTAINER_NAMESPACE is unset", func() { - _ = os.Setenv("SP_K8S_EXTERNAL_SVC_TYPE", "NodePort") - - cfg, err := config.Load(shared.Agent{MessagingURL: "nats://test:4222"}) - Expect(err).NotTo(HaveOccurred()) - Expect(cfg.Namespace).To(Equal("default")) - }) })