From 7357a9e7bec224d0bb63964faa508c789677f56c Mon Sep 17 00:00:00 2001 From: Pavel <177363085+pkcll@users.noreply.github.com> Date: Wed, 20 Aug 2025 15:31:45 -0400 Subject: [PATCH] loop/server: wire up ChipIngressInsecureConnection option --- pkg/loop/config.go | 11 +++++++++-- pkg/loop/config_test.go | 9 ++++++--- pkg/loop/server.go | 4 ++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/pkg/loop/config.go b/pkg/loop/config.go index a3bcef405f..45774d54f1 100644 --- a/pkg/loop/config.go +++ b/pkg/loop/config.go @@ -62,7 +62,8 @@ const ( envTelemetryEmitterExportMaxBatchSize = "CL_TELEMETRY_EMITTER_EXPORT_MAX_BATCH_SIZE" envTelemetryEmitterMaxQueueSize = "CL_TELEMETRY_EMITTER_MAX_QUEUE_SIZE" - envChipIngressEndpoint = "CL_CHIP_INGRESS_ENDPOINT" + envChipIngressEndpoint = "CL_CHIP_INGRESS_ENDPOINT" + envChipIngressInsecureConnection = "CL_CHIP_INGRESS_INSECURE_CONNECTION" ) // EnvConfig is the configuration between the application and the LOOP executable. The values @@ -116,7 +117,8 @@ type EnvConfig struct { TelemetryEmitterExportMaxBatchSize int TelemetryEmitterMaxQueueSize int - ChipIngressEndpoint string + ChipIngressEndpoint string + ChipIngressInsecureConnection bool } // AsCmdEnv returns a slice of environment variable key/value pairs for an exec.Cmd. @@ -184,6 +186,7 @@ func (e *EnvConfig) AsCmdEnv() (env []string) { add(envTelemetryEmitterMaxQueueSize, strconv.Itoa(e.TelemetryEmitterMaxQueueSize)) add(envChipIngressEndpoint, e.ChipIngressEndpoint) + add(envChipIngressInsecureConnection, strconv.FormatBool(e.ChipIngressInsecureConnection)) return } @@ -343,6 +346,10 @@ func (e *EnvConfig) parse() error { } // Optional e.ChipIngressEndpoint = os.Getenv(envChipIngressEndpoint) + e.ChipIngressInsecureConnection, err = getBool(envChipIngressInsecureConnection) + if err != nil { + return fmt.Errorf("failed to parse %s: %w", envChipIngressInsecureConnection, err) + } } return nil diff --git a/pkg/loop/config_test.go b/pkg/loop/config_test.go index 6092f55f34..9f6b225b3c 100644 --- a/pkg/loop/config_test.go +++ b/pkg/loop/config_test.go @@ -75,7 +75,8 @@ func TestEnvConfig_parse(t *testing.T) { envTelemetryEmitterExportMaxBatchSize: "100", envTelemetryEmitterMaxQueueSize: "1000", - envChipIngressEndpoint: "http://chip-ingress.example.com", + envChipIngressEndpoint: "chip-ingress.example.com:50051", + envChipIngressInsecureConnection: "true", }, expectError: false, expectConfig: envCfgFull, @@ -172,7 +173,8 @@ var envCfgFull = EnvConfig{ TelemetryEmitterExportMaxBatchSize: 100, TelemetryEmitterMaxQueueSize: 1000, - ChipIngressEndpoint: "http://chip-ingress.example.com", + ChipIngressEndpoint: "chip-ingress.example.com:50051", + ChipIngressInsecureConnection: true, } func TestEnvConfig_AsCmdEnv(t *testing.T) { @@ -221,7 +223,8 @@ func TestEnvConfig_AsCmdEnv(t *testing.T) { assert.Equal(t, "1000", got[envTelemetryEmitterMaxQueueSize]) // Assert ChipIngress environment variables - assert.Equal(t, "http://chip-ingress.example.com", got[envChipIngressEndpoint]) + assert.Equal(t, "chip-ingress.example.com:50051", got[envChipIngressEndpoint]) + assert.Equal(t, "true", got[envChipIngressInsecureConnection]) } func TestGetMap(t *testing.T) { diff --git a/pkg/loop/server.go b/pkg/loop/server.go index f4667fb1a9..fbf5d4df39 100644 --- a/pkg/loop/server.go +++ b/pkg/loop/server.go @@ -125,7 +125,7 @@ func (s *Server) start() error { EmitterMaxQueueSize: s.EnvConfig.TelemetryEmitterMaxQueueSize, ChipIngressEmitterEnabled: s.EnvConfig.ChipIngressEndpoint != "", ChipIngressEmitterGRPCEndpoint: s.EnvConfig.ChipIngressEndpoint, - ChipIngressInsecureConnection: s.EnvConfig.TelemetryInsecureConnection, + ChipIngressInsecureConnection: s.EnvConfig.ChipIngressInsecureConnection, } if tracingConfig.Enabled { @@ -166,7 +166,7 @@ func (s *Server) start() error { LockTimeout: s.EnvConfig.DatabaseLockTimeout, MaxOpenConns: s.EnvConfig.DatabaseMaxOpenConns, MaxIdleConns: s.EnvConfig.DatabaseMaxIdleConns, - EnableTracing: s.EnvConfig.DatabaseTracingEnabled, + EnableTracing: s.EnvConfig.DatabaseTracingEnabled, }.New(ctx, dbURL, pg.DriverPostgres) if err != nil { return fmt.Errorf("error connecting to DataBase: %w", err)