diff --git a/service/collector_test.go b/service/collector_test.go index d8f05e59f25..d54088d17a2 100644 --- a/service/collector_test.go +++ b/service/collector_test.go @@ -62,11 +62,10 @@ func TestCollector_StartAsGoRoutine(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), "yaml:service::telemetry::metrics::address: localhost:" + portAsString(testutil.GetAvailablePort(t)), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) @@ -107,10 +106,9 @@ func testCollectorStartHelper(t *testing.T) { } metricsPort := testutil.GetAvailablePort(t) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), - } + }) cfgSet.MapConverters = append([]config.MapConverterFunc{ overwritepropertiesmapconverter.New( []string{"service.telemetry.metrics.address=localhost:" + portAsString(metricsPort)}, @@ -189,10 +187,9 @@ func TestCollector_ShutdownNoop(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) @@ -217,10 +214,9 @@ func TestCollector_ShutdownBeforeRun(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) @@ -255,10 +251,9 @@ func TestCollector_ClosedStateOnStartUpError(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-invalid.yaml"), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) @@ -297,10 +292,9 @@ func TestCollector_ReportError(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) @@ -336,11 +330,10 @@ func TestCollector_ContextCancel(t *testing.T) { factories, err := testcomponents.NewDefaultFactories() require.NoError(t, err) - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = []string{ + cfgSet := newDefaultConfigProviderSettings([]string{ filepath.Join("testdata", "otelcol-config.yaml"), "yaml:service::telemetry::metrics::address: localhost:" + portAsString(testutil.GetAvailablePort(t)), - } + }) cfgProvider, err := NewConfigProvider(cfgSet) require.NoError(t, err) diff --git a/service/collector_windows.go b/service/collector_windows.go index 7b36caccb11..1231bd72a92 100644 --- a/service/collector_windows.go +++ b/service/collector_windows.go @@ -147,8 +147,7 @@ func openEventLog(serviceName string) (*eventlog.Log, error) { func newWithWindowsEventLogCore(set CollectorSettings, elog *eventlog.Log) (*Collector, error) { if set.ConfigProvider == nil { var err error - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = getConfigFlag() + cfgSet := newDefaultConfigProviderSettings(getConfigFlag()) // Append the "overwrite properties converter" as the first converter. cfgSet.MapConverters = append( []config.MapConverterFunc{overwritepropertiesmapconverter.New(getSetFlag())}, diff --git a/service/command.go b/service/command.go index 5130a6fe6c6..89976c242d7 100644 --- a/service/command.go +++ b/service/command.go @@ -32,8 +32,7 @@ func NewCommand(set CollectorSettings) *cobra.Command { featuregate.Apply(gatesList) if set.ConfigProvider == nil { var err error - cfgSet := newDefaultConfigProviderSettings() - cfgSet.Locations = getConfigFlag() + cfgSet := newDefaultConfigProviderSettings(getConfigFlag()) // Append the "overwrite properties converter" as the first converter. cfgSet.MapConverters = append( []config.MapConverterFunc{overwritepropertiesmapconverter.New(getSetFlag())}, diff --git a/service/config_provider.go b/service/config_provider.go index d909b57d1d3..52123a4ee4e 100644 --- a/service/config_provider.go +++ b/service/config_provider.go @@ -97,8 +97,9 @@ type ConfigProviderSettings struct { Unmarshaler configunmarshaler.ConfigUnmarshaler } -func newDefaultConfigProviderSettings() ConfigProviderSettings { +func newDefaultConfigProviderSettings(locations []string) ConfigProviderSettings { return ConfigProviderSettings{ + Locations: locations, MapProviders: makeConfigMapProviderMap(filemapprovider.New(), envmapprovider.New(), yamlmapprovider.New()), MapConverters: []config.MapConverterFunc{expandmapconverter.New()}, Unmarshaler: configunmarshaler.NewDefault(), @@ -157,8 +158,7 @@ func NewConfigProvider(set ConfigProviderSettings) (ConfigProvider, error) { // Deprecated: [v0.49.0] use NewConfigProvider instead. func MustNewDefaultConfigProvider(locations []string, properties []string) ConfigProvider { - set := newDefaultConfigProviderSettings() - set.Locations = locations + set := newDefaultConfigProviderSettings(locations) set.MapConverters = append([]config.MapConverterFunc{overwritepropertiesmapconverter.New(properties)}, set.MapConverters...) cfgProvider, err := NewConfigProvider(set) if err != nil { diff --git a/service/config_provider_test.go b/service/config_provider_test.go index 0d1f080b373..a2a395e59e2 100644 --- a/service/config_provider_test.go +++ b/service/config_provider_test.go @@ -198,8 +198,7 @@ func TestConfigProvider(t *testing.T) { return &mockProvider{retM: cfgMap} }() - set := newDefaultConfigProviderSettings() - set.Locations = []string{"mock:"} + set := newDefaultConfigProviderSettings([]string{"mock:"}) set.MapProviders[mapProvider.Scheme()] = mapProvider cfgW, err := NewConfigProvider(set) require.NoError(t, err) @@ -260,11 +259,8 @@ func TestConfigProviderNoWatcher(t *testing.T) { factories, errF := componenttest.NopFactories() require.NoError(t, errF) - set := newDefaultConfigProviderSettings() - set.Locations = []string{filepath.Join("testdata", "otelcol-nop.yaml")} - watcherWG := sync.WaitGroup{} - cfgW, err := NewConfigProvider(set) + cfgW, err := NewConfigProvider(newDefaultConfigProviderSettings([]string{filepath.Join("testdata", "otelcol-nop.yaml")})) require.NoError(t, err) _, errN := cfgW.Get(context.Background(), factories) assert.NoError(t, errN) @@ -315,8 +311,7 @@ func TestConfigProvider_ShutdownClosesWatch(t *testing.T) { return &mockProvider{retM: cfgMap, errW: configsource.ErrSessionClosed} }() - set := newDefaultConfigProviderSettings() - set.Locations = []string{"mock:"} + set := newDefaultConfigProviderSettings([]string{"mock:"}) set.MapProviders[mapProvider.Scheme()] = mapProvider watcherWG := sync.WaitGroup{} @@ -380,8 +375,7 @@ func TestBackwardsCompatibilityForFilePath(t *testing.T) { }, } for _, tt := range tests { - set := newDefaultConfigProviderSettings() - set.Locations = []string{tt.location} + set := newDefaultConfigProviderSettings([]string{tt.location}) provider, err := NewConfigProvider(set) assert.NoError(t, err) _, err = provider.Get(context.Background(), factories)