From d79ea676b8894c128913774267723c34ceda4b78 Mon Sep 17 00:00:00 2001 From: ChrsMark Date: Tue, 7 Jan 2025 17:29:10 +0200 Subject: [PATCH] move provider modules to collector settings Signed-off-by: ChrsMark --- cmd/builder/internal/builder/templates/main.go.tmpl | 12 ++++++------ cmd/otelcorecol/main.go | 12 ++++++------ confmap/resolver.go | 3 --- otelcol/collector.go | 3 +++ otelcol/collector_test.go | 4 ---- otelcol/command_components.go | 2 +- 6 files changed, 16 insertions(+), 20 deletions(-) diff --git a/cmd/builder/internal/builder/templates/main.go.tmpl b/cmd/builder/internal/builder/templates/main.go.tmpl index 3f828519317c..41929554529f 100644 --- a/cmd/builder/internal/builder/templates/main.go.tmpl +++ b/cmd/builder/internal/builder/templates/main.go.tmpl @@ -33,11 +33,7 @@ func main() { {{- range .ConfmapProviders}} {{.Name}}.NewFactory(), {{- end}} - }, ProviderModules: map[string]string{ - {{- range .ConfmapProviders}} - "{{.Name}}": "{{.GoMod}}", - {{- end}} - }, + }, {{- if .ConfmapConverters }} ConverterFactories: []confmap.ConverterFactory{ {{- range .ConfmapConverters}} @@ -49,7 +45,11 @@ func main() { DefaultScheme: "{{ .ConfResolver.DefaultURIScheme }}", {{- end }} }, - }, + }, ProviderModules: map[string]string{ + {{- range .ConfmapProviders}} + "{{.Name}}": "{{.GoMod}}", + {{- end}} + }, } if err := run(set); err != nil { diff --git a/cmd/otelcorecol/main.go b/cmd/otelcorecol/main.go index 93b8bcac58dc..80ff00d824b1 100644 --- a/cmd/otelcorecol/main.go +++ b/cmd/otelcorecol/main.go @@ -34,14 +34,14 @@ func main() { httpprovider.NewFactory(), httpsprovider.NewFactory(), yamlprovider.NewFactory(), - }, ProviderModules: map[string]string{ - "envprovider": "go.opentelemetry.io/collector/confmap/provider/envprovider v1.22.0", - "fileprovider": "go.opentelemetry.io/collector/confmap/provider/fileprovider v1.22.0", - "httpprovider": "go.opentelemetry.io/collector/confmap/provider/httpprovider v1.22.0", - "httpsprovider": "go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.22.0", - "yamlprovider": "go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.22.0", }, }, + }, ProviderModules: map[string]string{ + "envprovider": "go.opentelemetry.io/collector/confmap/provider/envprovider v1.22.0", + "fileprovider": "go.opentelemetry.io/collector/confmap/provider/fileprovider v1.22.0", + "httpprovider": "go.opentelemetry.io/collector/confmap/provider/httpprovider v1.22.0", + "httpsprovider": "go.opentelemetry.io/collector/confmap/provider/httpsprovider v1.22.0", + "yamlprovider": "go.opentelemetry.io/collector/confmap/provider/yamlprovider v1.22.0", }, } diff --git a/confmap/resolver.go b/confmap/resolver.go index bb3607029840..e635ea995648 100644 --- a/confmap/resolver.go +++ b/confmap/resolver.go @@ -39,9 +39,6 @@ type ResolverSettings struct { // It is required to have at least one factory. ProviderFactories []ProviderFactory - // ProviderModules maps provider types to their respective go modules. - ProviderModules map[string]string - // DefaultScheme is the scheme that is used if ${} syntax is used but no schema is provided. // If no DefaultScheme is set, ${} with no schema will not be expanded. // It is strongly recommended to set "env" as the default scheme to align with the diff --git a/otelcol/collector.go b/otelcol/collector.go index dac8c860ec31..aea4c8df6b12 100644 --- a/otelcol/collector.go +++ b/otelcol/collector.go @@ -69,6 +69,9 @@ type CollectorSettings struct { // confmap.Providers watch for configuration changes. ConfigProviderSettings ConfigProviderSettings + // ProviderModules maps provider types to their respective go modules. + ProviderModules map[string]string + // LoggingOptions provides a way to change behavior of zap logging. LoggingOptions []zap.Option diff --git a/otelcol/collector_test.go b/otelcol/collector_test.go index eebae47a626c..3f0c2f7ceb21 100644 --- a/otelcol/collector_test.go +++ b/otelcol/collector_test.go @@ -576,10 +576,6 @@ func newDefaultConfigProviderSettings(tb testing.TB, uris []string) ConfigProvid return ConfigProviderSettings{ ResolverSettings: confmap.ResolverSettings{ URIs: uris, - ProviderModules: map[string]string{ - "envprovider": "go.opentelemetry.io/collector/confmap/provider/envprovider v1.2.3", - "fileprovider": "go.opentelemetry.io/collector/confmap/provider/fileprovider v1.2.3", - }, ProviderFactories: []confmap.ProviderFactory{ fileProvider, newEnvProvider(), diff --git a/otelcol/command_components.go b/otelcol/command_components.go index def0cb17e0e8..fd6a041776e4 100644 --- a/otelcol/command_components.go +++ b/otelcol/command_components.go @@ -120,7 +120,7 @@ func newComponentsCommand(set CollectorSettings) *cobra.Command { for _, confmapProvider := range confmapProviderFactories { provider := confmapProvider.Create(set.ConfigProviderSettings.ResolverSettings.ProviderSettings) scheme := provider.Scheme() - module := set.ConfigProviderSettings.ResolverSettings.ProviderModules[scheme+"provider"] + module := set.ProviderModules[scheme+"provider"] components.Providers = append(components.Providers, componentWithoutStability{ Name: scheme, Module: module,