diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d1208d7ab2..52bda563bfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ ### 🚩 Deprecations 🚩 +- Deprecate configmapprovider package, replace with mapconverter (#5167) + ### 💡 Enhancements 💡 - OTLP HTTP receiver will use HTTP/2 over TLS if client supports it (#5190) diff --git a/config/configmapprovider/deprecated.go b/config/configmapprovider/deprecated.go new file mode 100644 index 00000000000..111902a25fe --- /dev/null +++ b/config/configmapprovider/deprecated.go @@ -0,0 +1,26 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package configmapprovider // import "go.opentelemetry.io/collector/config/configmapprovider" + +import ( + "go.opentelemetry.io/collector/config/mapconverter/expandmapconverter" + "go.opentelemetry.io/collector/config/mapconverter/overwritepropertiesmapconverter" +) + +// Deprecated: [v0.49.0] use expandmapconverter.New. +var NewExpandConverter = expandmapconverter.New + +// Deprecated: [v0.49.0] use overwritepropertiesmapconverter.New. +var NewOverwritePropertiesConverter = overwritepropertiesmapconverter.New diff --git a/config/configmapprovider/expand.go b/config/mapconverter/expandmapconverter/expand.go similarity index 86% rename from config/configmapprovider/expand.go rename to config/mapconverter/expandmapconverter/expand.go index 943428f3ece..8fe624fdb12 100644 --- a/config/configmapprovider/expand.go +++ b/config/mapconverter/expandmapconverter/expand.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package configmapprovider // import "go.opentelemetry.io/collector/config/configmapprovider" +package expandmapconverter // import "go.opentelemetry.io/collector/config/mapconverter/expandmapconverter" import ( "context" @@ -21,10 +21,10 @@ import ( "go.opentelemetry.io/collector/config" ) -// NewExpandConverter returns a service.ConfigMapConverterFunc, that expands all environment variables for a given config.Map. +// New returns a config.MapConverterFunc, that expands all environment variables for a given config.Map. // // Notice: This API is experimental. -func NewExpandConverter() config.MapConverterFunc { +func New() config.MapConverterFunc { return func(_ context.Context, cfgMap *config.Map) error { for _, k := range cfgMap.AllKeys() { cfgMap.Set(k, expandStringValues(cfgMap.Get(k))) diff --git a/config/configmapprovider/expand_test.go b/config/mapconverter/expandmapconverter/expand_test.go similarity index 94% rename from config/configmapprovider/expand_test.go rename to config/mapconverter/expandmapconverter/expand_test.go index 664c7478db9..04c8c92ad16 100644 --- a/config/configmapprovider/expand_test.go +++ b/config/mapconverter/expandmapconverter/expand_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package configmapprovider +package expandmapconverter import ( "context" @@ -56,7 +56,7 @@ func TestNewExpandConverter(t *testing.T) { require.NoError(t, err, "Unable to get config") // Test that expanded configs are the same with the simple config with no env vars. - require.NoError(t, NewExpandConverter()(context.Background(), cfgMap)) + require.NoError(t, New()(context.Background(), cfgMap)) assert.Equal(t, expectedCfgMap.ToStringMap(), cfgMap.ToStringMap()) }) } @@ -75,7 +75,7 @@ func TestNewExpandConverter_EscapedMaps(t *testing.T) { "recv": "$MAP_VALUE", }}, ) - require.NoError(t, NewExpandConverter()(context.Background(), cfgMap)) + require.NoError(t, New()(context.Background(), cfgMap)) expectedMap := map[string]interface{}{ "test_string_map": map[string]interface{}{ @@ -112,7 +112,7 @@ func TestNewExpandConverter_EscapedEnvVars(t *testing.T) { // escaped $ alone "recv.7": "$", }} - require.NoError(t, NewExpandConverter()(context.Background(), cfgMap)) + require.NoError(t, New()(context.Background(), cfgMap)) assert.Equal(t, expectedMap, cfgMap.ToStringMap()) } diff --git a/config/configmapprovider/testdata/default-config.yaml b/config/mapconverter/expandmapconverter/testdata/default-config.yaml similarity index 100% rename from config/configmapprovider/testdata/default-config.yaml rename to config/mapconverter/expandmapconverter/testdata/default-config.yaml diff --git a/config/configmapprovider/testdata/expand-escaped-env.yaml b/config/mapconverter/expandmapconverter/testdata/expand-escaped-env.yaml similarity index 100% rename from config/configmapprovider/testdata/expand-escaped-env.yaml rename to config/mapconverter/expandmapconverter/testdata/expand-escaped-env.yaml diff --git a/config/configmapprovider/testdata/expand-with-all-env.yaml b/config/mapconverter/expandmapconverter/testdata/expand-with-all-env.yaml similarity index 100% rename from config/configmapprovider/testdata/expand-with-all-env.yaml rename to config/mapconverter/expandmapconverter/testdata/expand-with-all-env.yaml diff --git a/config/configmapprovider/testdata/expand-with-no-env.yaml b/config/mapconverter/expandmapconverter/testdata/expand-with-no-env.yaml similarity index 100% rename from config/configmapprovider/testdata/expand-with-no-env.yaml rename to config/mapconverter/expandmapconverter/testdata/expand-with-no-env.yaml diff --git a/config/configmapprovider/testdata/expand-with-partial-env.yaml b/config/mapconverter/expandmapconverter/testdata/expand-with-partial-env.yaml similarity index 100% rename from config/configmapprovider/testdata/expand-with-partial-env.yaml rename to config/mapconverter/expandmapconverter/testdata/expand-with-partial-env.yaml diff --git a/config/configmapprovider/properties.go b/config/mapconverter/overwritepropertiesmapconverter/properties.go similarity index 85% rename from config/configmapprovider/properties.go rename to config/mapconverter/overwritepropertiesmapconverter/properties.go index 914ad5c6495..93e230fda2a 100644 --- a/config/configmapprovider/properties.go +++ b/config/mapconverter/overwritepropertiesmapconverter/properties.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package configmapprovider // import "go.opentelemetry.io/collector/config/configmapprovider" +package overwritepropertiesmapconverter // import "go.opentelemetry.io/collector/config/mapconverter/overwritepropertiesmapconverter" import ( "bytes" @@ -25,13 +25,13 @@ import ( "go.opentelemetry.io/collector/config" ) -// NewOverwritePropertiesConverter returns a config.MapConverterFunc, that overrides all the given properties into the +// New returns a config.MapConverterFunc, that overrides all the given properties into the // input map. // // Properties must follow the Java properties format, key-value list separated by equal sign with a "." // as key delimiter. // ["processors.batch.timeout=2s", "processors.batch/foo.timeout=3s"] -func NewOverwritePropertiesConverter(properties []string) config.MapConverterFunc { +func New(properties []string) config.MapConverterFunc { return func(_ context.Context, cfgMap *config.Map) error { return convert(properties, cfgMap) } diff --git a/config/configmapprovider/properties_test.go b/config/mapconverter/overwritepropertiesmapconverter/properties_test.go similarity index 91% rename from config/configmapprovider/properties_test.go rename to config/mapconverter/overwritepropertiesmapconverter/properties_test.go index 5220bd0cba3..cf18cca7eb9 100644 --- a/config/configmapprovider/properties_test.go +++ b/config/mapconverter/overwritepropertiesmapconverter/properties_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package configmapprovider +package overwritepropertiesmapconverter import ( "context" @@ -25,7 +25,7 @@ import ( ) func TestOverwritePropertiesConverter_Empty(t *testing.T) { - pmp := NewOverwritePropertiesConverter(nil) + pmp := New(nil) cfgMap := config.NewMapFromStringMap(map[string]interface{}{"foo": "bar"}) assert.NoError(t, pmp(context.Background(), cfgMap)) assert.Equal(t, map[string]interface{}{"foo": "bar"}, cfgMap.ToStringMap()) @@ -39,7 +39,7 @@ func TestOverwritePropertiesConverter(t *testing.T) { "exporters.kafka.brokers=foo:9200,foo2:9200", } - pmp := NewOverwritePropertiesConverter(props) + pmp := New(props) cfgMap := config.NewMap() require.NoError(t, pmp(context.Background(), cfgMap)) keys := cfgMap.AllKeys() @@ -51,7 +51,7 @@ func TestOverwritePropertiesConverter(t *testing.T) { } func TestOverwritePropertiesConverter_InvalidProperty(t *testing.T) { - pmp := NewOverwritePropertiesConverter([]string{"=2s"}) + pmp := New([]string{"=2s"}) cfgMap := config.NewMap() assert.Error(t, pmp(context.Background(), cfgMap)) } diff --git a/service/config_provider.go b/service/config_provider.go index 02e9bbd3fb2..c8dcdb63552 100644 --- a/service/config_provider.go +++ b/service/config_provider.go @@ -25,9 +25,10 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" - "go.opentelemetry.io/collector/config/configmapprovider" "go.opentelemetry.io/collector/config/configunmarshaler" "go.opentelemetry.io/collector/config/experimental/configsource" + "go.opentelemetry.io/collector/config/mapconverter/expandmapconverter" + "go.opentelemetry.io/collector/config/mapconverter/overwritepropertiesmapconverter" "go.opentelemetry.io/collector/config/mapprovider/envmapprovider" "go.opentelemetry.io/collector/config/mapprovider/filemapprovider" "go.opentelemetry.io/collector/config/mapprovider/yamlmapprovider" @@ -108,8 +109,8 @@ func MustNewDefaultConfigProvider(configLocations []string, properties []string) configLocations, makeConfigMapProviderMap(filemapprovider.New(), envmapprovider.New(), yamlmapprovider.New()), []config.MapConverterFunc{ - configmapprovider.NewOverwritePropertiesConverter(properties), - configmapprovider.NewExpandConverter(), + overwritepropertiesmapconverter.New(properties), + expandmapconverter.New(), }, configunmarshaler.NewDefault()) }