From 6eff6af1045eee000e8fc4e0ad96beeeae41366b Mon Sep 17 00:00:00 2001 From: Kyle Eckhart Date: Thu, 10 Sep 2026 12:37:28 -0400 Subject: [PATCH] refactor(otelcol): Seed wrapped configs from upstream factory defaults --- internal/component/otelcol/auth/basic/basic.go | 8 +++++--- internal/component/otelcol/auth/headers/headers.go | 6 +++--- internal/component/otelcol/auth/sigv4/sigv4.go | 11 +++++------ .../otelcol/processor/attributes/attributes.go | 2 +- .../otelcol/processor/redaction/redaction.go | 2 +- internal/component/otelcol/processor/span/span.go | 2 +- .../otelcol/receiver/fluentforward/fluentforward.go | 5 ++--- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/internal/component/otelcol/auth/basic/basic.go b/internal/component/otelcol/auth/basic/basic.go index e08fa388826..e928e72cfbf 100644 --- a/internal/component/otelcol/auth/basic/basic.go +++ b/internal/component/otelcol/auth/basic/basic.go @@ -110,7 +110,7 @@ func (args Arguments) Validate() error { // ConvertClient implements auth.Arguments. func (args Arguments) ConvertClient() (otelcomponent.Config, error) { - c := &basicauthextension.Config{} + c := basicauthextension.NewFactory().CreateDefaultConfig().(*basicauthextension.Config) // If the client config is specified, ignore the deprecated // username and password attributes. if args.ClientAuth != nil { @@ -127,8 +127,10 @@ func (args Arguments) ConvertClient() (otelcomponent.Config, error) { // ConvertServer implements auth.Arguments. func (args Arguments) ConvertServer() (otelcomponent.Config, error) { - c := &basicauthextension.Config{ - Htpasswd: &basicauthextension.HtpasswdSettings{}, + c := basicauthextension.NewFactory().CreateDefaultConfig().(*basicauthextension.Config) + if c.Htpasswd == nil { + // The inline append below needs a non-nil Htpasswd. + c.Htpasswd = &basicauthextension.HtpasswdSettings{} } if args.Htpasswd != nil { c.Htpasswd = args.Htpasswd.convert() diff --git a/internal/component/otelcol/auth/headers/headers.go b/internal/component/otelcol/auth/headers/headers.go index bb8615eed33..fe9a5232916 100644 --- a/internal/component/otelcol/auth/headers/headers.go +++ b/internal/component/otelcol/auth/headers/headers.go @@ -74,9 +74,9 @@ func (args Arguments) ConvertClient() (otelcomponent.Config, error) { } // OtelExtensionConfig does not implement ServerAuth - return &headerssetterextension.Config{ - HeadersConfig: upstreamHeaders, - }, nil + cfg := headerssetterextension.NewFactory().CreateDefaultConfig().(*headerssetterextension.Config) + cfg.HeadersConfig = upstreamHeaders + return cfg, nil } // ConvertServer returns nil since theheaders extension does not support server authentication. diff --git a/internal/component/otelcol/auth/sigv4/sigv4.go b/internal/component/otelcol/auth/sigv4/sigv4.go index 64f01fe3d65..12c7646aa7e 100644 --- a/internal/component/otelcol/auth/sigv4/sigv4.go +++ b/internal/component/otelcol/auth/sigv4/sigv4.go @@ -44,17 +44,16 @@ func (args *Arguments) SetToDefault() { // ConvertClient implements auth.Arguments. func (args Arguments) ConvertClient() (otelcomponent.Config, error) { - res := sigv4authextension.Config{ - Region: args.Region, - Service: args.Service, - AssumeRole: *args.AssumeRole.Convert(), - } + res := sigv4authextension.NewFactory().CreateDefaultConfig().(*sigv4authextension.Config) + res.Region = args.Region + res.Service = args.Service + res.AssumeRole = *args.AssumeRole.Convert() // sigv4authextension.Config has a private member called "credsProvider" which gets initialized when we call Validate(). // If we don't call validate, the unit tests for this component will fail. if err := res.Validate(); err != nil { return nil, err } - return &res, nil + return res, nil } // ConvertServer returns nil since the sigv4 extension does not support server authentication. diff --git a/internal/component/otelcol/processor/attributes/attributes.go b/internal/component/otelcol/processor/attributes/attributes.go index 6511d5231c1..34a2d06dfd8 100644 --- a/internal/component/otelcol/processor/attributes/attributes.go +++ b/internal/component/otelcol/processor/attributes/attributes.go @@ -86,7 +86,7 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { } } - var result attributesprocessor.Config + result := *attributesprocessor.NewFactory().CreateDefaultConfig().(*attributesprocessor.Config) err := mapstructure.Decode(input, &result) if err != nil { diff --git a/internal/component/otelcol/processor/redaction/redaction.go b/internal/component/otelcol/processor/redaction/redaction.go index a04b607a053..f771f2a0eeb 100644 --- a/internal/component/otelcol/processor/redaction/redaction.go +++ b/internal/component/otelcol/processor/redaction/redaction.go @@ -180,7 +180,7 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { input["db_sanitizer"] = args.DBSanitizer.convert() } - var result redactionprocessor.Config + result := *redactionprocessor.NewFactory().CreateDefaultConfig().(*redactionprocessor.Config) if err := mapstructure.Decode(input, &result); err != nil { return nil, err } diff --git a/internal/component/otelcol/processor/span/span.go b/internal/component/otelcol/processor/span/span.go index e8717dacab9..1772b7bd183 100644 --- a/internal/component/otelcol/processor/span/span.go +++ b/internal/component/otelcol/processor/span/span.go @@ -101,7 +101,7 @@ func (args Arguments) Convert() (otelcomponent.Config, error) { } } - var result spanprocessor.Config + result := *spanprocessor.NewFactory().CreateDefaultConfig().(*spanprocessor.Config) err := mapstructure.Decode(input, &result) if err != nil { diff --git a/internal/component/otelcol/receiver/fluentforward/fluentforward.go b/internal/component/otelcol/receiver/fluentforward/fluentforward.go index f6e219772c9..21083e65c90 100644 --- a/internal/component/otelcol/receiver/fluentforward/fluentforward.go +++ b/internal/component/otelcol/receiver/fluentforward/fluentforward.go @@ -61,9 +61,8 @@ type ConsumerArguments struct { } func (a Arguments) Convert() (collectorComponent.Config, error) { - cfg := &fluentforwardreceiver.Config{ - ListenAddress: a.Endpoint, - } + cfg := fluentforwardreceiver.NewFactory().CreateDefaultConfig().(*fluentforwardreceiver.Config) + cfg.ListenAddress = a.Endpoint return cfg, nil }