diff --git a/config/config.go b/config/config.go index 1be5d9e3d07..99ac6fb383c 100644 --- a/config/config.go +++ b/config/config.go @@ -17,6 +17,8 @@ package config import ( "errors" "fmt" + + "go.opentelemetry.io/collector/config/configparser" ) var ( @@ -173,7 +175,7 @@ type CustomUnmarshable interface { // Unmarshal is a function that un-marshals a Parser into the unmarshable struct in a custom way. // componentSection *Parser // The config for this specific component. May be nil or empty if no config available. - Unmarshal(componentSection *Parser) error + Unmarshal(componentSection *configparser.Parser) error } // DataType is the data type that is supported for collection. We currently support diff --git a/config/configloader/config.go b/config/configloader/config.go index 0eceb8960e8..7e172096c3c 100644 --- a/config/configloader/config.go +++ b/config/configloader/config.go @@ -25,6 +25,7 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) // These are errors that can be returned by Load(). Note that error codes are not part @@ -92,8 +93,7 @@ type pipelineSettings struct { // Load loads a Config from Parser. // After loading the config, `Validate()` must be called to validate. -func Load(v *config.Parser, factories component.Factories) (*config.Config, error) { - +func Load(v *configparser.Parser, factories component.Factories) (*config.Config, error) { var cfg config.Config // Load the config. @@ -183,7 +183,7 @@ func loadExtensions(exts map[string]interface{}, factories map[config.Type]compo // Iterate over extensions and create a config for each. for key, value := range exts { - componentConfig := config.NewParserFromStringMap(cast.ToStringMap(value)) + componentConfig := configparser.NewParserFromStringMap(cast.ToStringMap(value)) expandEnvConfig(componentConfig) // Decode the key into type and fullName components. @@ -240,7 +240,7 @@ func loadService(rawService serviceSettings) (config.Service, error) { } // LoadReceiver loads a receiver config from componentConfig using the provided factories. -func LoadReceiver(componentConfig *config.Parser, id config.ComponentID, factory component.ReceiverFactory) (config.Receiver, error) { +func LoadReceiver(componentConfig *configparser.Parser, id config.ComponentID, factory component.ReceiverFactory) (config.Receiver, error) { // Create the default config for this receiver. receiverCfg := factory.CreateDefaultConfig() receiverCfg.SetIDName(id.Name()) @@ -262,7 +262,7 @@ func loadReceivers(recvs map[string]interface{}, factories map[config.Type]compo // Iterate over input map and create a config for each. for key, value := range recvs { - componentConfig := config.NewParserFromStringMap(cast.ToStringMap(value)) + componentConfig := configparser.NewParserFromStringMap(cast.ToStringMap(value)) expandEnvConfig(componentConfig) // Decode the key into type and fullName components. @@ -299,7 +299,7 @@ func loadExporters(exps map[string]interface{}, factories map[config.Type]compon // Iterate over Exporters and create a config for each. for key, value := range exps { - componentConfig := config.NewParserFromStringMap(cast.ToStringMap(value)) + componentConfig := configparser.NewParserFromStringMap(cast.ToStringMap(value)) expandEnvConfig(componentConfig) // Decode the key into type and fullName components. @@ -342,7 +342,7 @@ func loadProcessors(procs map[string]interface{}, factories map[config.Type]comp // Iterate over processors and create a config for each. for key, value := range procs { - componentConfig := config.NewParserFromStringMap(cast.ToStringMap(value)) + componentConfig := configparser.NewParserFromStringMap(cast.ToStringMap(value)) expandEnvConfig(componentConfig) // Decode the key into type and fullName components. @@ -440,7 +440,7 @@ func parseIDNames(pipelineID config.ComponentID, componentType string, names []s // expandEnvConfig creates a new viper config with expanded values for all the values (simple, list or map value). // It does not expand the keys. -func expandEnvConfig(v *config.Parser) { +func expandEnvConfig(v *configparser.Parser) { for _, k := range v.AllKeys() { v.Set(k, expandStringValues(v.Get(k))) } @@ -537,7 +537,7 @@ type deprecatedUnmarshaler interface { Unmarshal(componentViperSection *viper.Viper, intoCfg interface{}) error } -func unmarshal(componentSection *config.Parser, intoCfg interface{}) error { +func unmarshal(componentSection *configparser.Parser, intoCfg interface{}) error { if cu, ok := intoCfg.(config.CustomUnmarshable); ok { return cu.Unmarshal(componentSection) } @@ -546,9 +546,9 @@ func unmarshal(componentSection *config.Parser, intoCfg interface{}) error { } // unmarshaler returns an unmarshaling function. It should be removed when deprecatedUnmarshaler is removed. -func unmarshaler(factory component.Factory) func(componentViperSection *config.Parser, intoCfg interface{}) error { +func unmarshaler(factory component.Factory) func(componentViperSection *configparser.Parser, intoCfg interface{}) error { if _, ok := factory.(deprecatedUnmarshaler); ok { - return func(componentParser *config.Parser, intoCfg interface{}) error { + return func(componentParser *configparser.Parser, intoCfg interface{}) error { return errors.New("deprecated way to specify custom unmarshaler no longer supported") } } diff --git a/config/configloader/config_test.go b/config/configloader/config_test.go index d9f7bfcb191..d1850a66ba5 100644 --- a/config/configloader/config_test.go +++ b/config/configloader/config_test.go @@ -25,6 +25,7 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/confignet" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/internal/testcomponents" ) @@ -455,7 +456,7 @@ func TestLoadEmptyAllSections(t *testing.T) { } func loadConfigFile(t *testing.T, fileName string, factories component.Factories) (*config.Config, error) { - v, err := config.NewParserFromFile(fileName) + v, err := configparser.NewParserFromFile(fileName) require.NoError(t, err) // Load the config from viper using the given factories. diff --git a/config/parser.go b/config/configparser/parser.go similarity index 99% rename from config/parser.go rename to config/configparser/parser.go index 99978571808..92a082a0cb9 100644 --- a/config/parser.go +++ b/config/configparser/parser.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package config +package configparser import ( "fmt" diff --git a/config/parser_test.go b/config/configparser/parser_test.go similarity index 99% rename from config/parser_test.go rename to config/configparser/parser_test.go index fe1709b8860..0b15c2936c6 100644 --- a/config/parser_test.go +++ b/config/configparser/parser_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package config +package configparser import ( "testing" diff --git a/config/testdata/basic_types.yaml b/config/configparser/testdata/basic_types.yaml similarity index 100% rename from config/testdata/basic_types.yaml rename to config/configparser/testdata/basic_types.yaml diff --git a/config/testdata/config.yaml b/config/configparser/testdata/config.yaml similarity index 100% rename from config/testdata/config.yaml rename to config/configparser/testdata/config.yaml diff --git a/config/configtest/configtest.go b/config/configtest/configtest.go index c88aeebaecc..84014da91f4 100644 --- a/config/configtest/configtest.go +++ b/config/configtest/configtest.go @@ -22,12 +22,13 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configloader" + "go.opentelemetry.io/collector/config/configparser" ) // LoadConfigFile loads a config from file. func LoadConfigFile(t *testing.T, fileName string, factories component.Factories) (*config.Config, error) { // Read yaml config from file. - cp, err := config.NewParserFromFile(fileName) + cp, err := configparser.NewParserFromFile(fileName) require.NoError(t, err) // Load the config from viper using the given factories. cfg, err := configloader.Load(cp, factories) diff --git a/config/internal/configsource/manager.go b/config/internal/configsource/manager.go index 42d0d3750d7..81ab85cfd05 100644 --- a/config/internal/configsource/manager.go +++ b/config/internal/configsource/manager.go @@ -26,7 +26,7 @@ import ( "gopkg.in/yaml.v2" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/config/experimental/configsource" "go.opentelemetry.io/collector/consumer/consumererror" ) @@ -176,7 +176,7 @@ type Manager struct { // NewManager creates a new instance of a Manager to be used to inject data from // ConfigSource objects into a configuration and watch for updates on the injected // data. -func NewManager(_ *config.Parser) (*Manager, error) { +func NewManager(_ *configparser.Parser) (*Manager, error) { // TODO: Config sources should be extracted for the config itself, need Factories for that. return &Manager{ @@ -190,8 +190,8 @@ func NewManager(_ *config.Parser) (*Manager, error) { // Resolve inspects the given config.Parser and resolves all config sources referenced // in the configuration, returning a config.Parser fully resolved. This must be called only // once per lifetime of a Manager object. -func (m *Manager) Resolve(ctx context.Context, parser *config.Parser) (*config.Parser, error) { - res := config.NewParser() +func (m *Manager) Resolve(ctx context.Context, parser *configparser.Parser) (*configparser.Parser, error) { + res := configparser.NewParser() allKeys := parser.AllKeys() for _, k := range allKeys { value, err := m.expandStringValues(ctx, parser.Get(k)) @@ -490,8 +490,8 @@ func parseCfgSrc(s string) (cfgSrcName, selector string, params interface{}, err selector = strings.Trim(parts[0], " ") if len(parts) > 1 && len(parts[1]) > 0 { - var cp *config.Parser - cp, err = config.NewParserFromBuffer(bytes.NewReader([]byte(parts[1]))) + var cp *configparser.Parser + cp, err = configparser.NewParserFromBuffer(bytes.NewReader([]byte(parts[1]))) if err != nil { return } diff --git a/config/internal/configsource/manager_test.go b/config/internal/configsource/manager_test.go index 66752217706..455ab270542 100644 --- a/config/internal/configsource/manager_test.go +++ b/config/internal/configsource/manager_test.go @@ -25,7 +25,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/config/experimental/configsource" ) @@ -54,7 +54,7 @@ func TestConfigSourceManager_Simple(t *testing.T) { }, } - cp := config.NewParserFromStringMap(originalCfg) + cp := configparser.NewParserFromStringMap(originalCfg) actualParser, err := manager.Resolve(ctx, cp) require.NoError(t, err) @@ -130,7 +130,7 @@ func TestConfigSourceManager_ResolveErrors(t *testing.T) { require.NoError(t, err) manager.configSources = tt.configSourceMap - res, err := manager.Resolve(ctx, config.NewParserFromStringMap(tt.config)) + res, err := manager.Resolve(ctx, configparser.NewParserFromStringMap(tt.config)) require.Error(t, err) require.Nil(t, res) require.NoError(t, manager.Close(ctx)) @@ -154,11 +154,11 @@ func TestConfigSourceManager_ArraysAndMaps(t *testing.T) { } file := path.Join("testdata", "arrays_and_maps.yaml") - cp, err := config.NewParserFromFile(file) + cp, err := configparser.NewParserFromFile(file) require.NoError(t, err) expectedFile := path.Join("testdata", "arrays_and_maps_expected.yaml") - expectedParser, err := config.NewParserFromFile(expectedFile) + expectedParser, err := configparser.NewParserFromFile(expectedFile) require.NoError(t, err) actualParser, err := manager.Resolve(ctx, cp) @@ -206,11 +206,11 @@ func TestConfigSourceManager_ParamsHandling(t *testing.T) { } file := path.Join("testdata", "params_handling.yaml") - cp, err := config.NewParserFromFile(file) + cp, err := configparser.NewParserFromFile(file) require.NoError(t, err) expectedFile := path.Join("testdata", "params_handling_expected.yaml") - expectedParser, err := config.NewParserFromFile(expectedFile) + expectedParser, err := configparser.NewParserFromFile(expectedFile) require.NoError(t, err) actualParser, err := manager.Resolve(ctx, cp) @@ -244,7 +244,7 @@ func TestConfigSourceManager_WatchForUpdate(t *testing.T) { }, } - cp := config.NewParserFromStringMap(originalCfg) + cp := configparser.NewParserFromStringMap(originalCfg) _, err = manager.Resolve(ctx, cp) require.NoError(t, err) @@ -300,7 +300,7 @@ func TestConfigSourceManager_MultipleWatchForUpdate(t *testing.T) { }, } - cp := config.NewParserFromStringMap(originalCfg) + cp := configparser.NewParserFromStringMap(originalCfg) _, err = manager.Resolve(ctx, cp) require.NoError(t, err) @@ -351,11 +351,11 @@ func TestConfigSourceManager_EnvVarHandling(t *testing.T) { } file := path.Join("testdata", "envvar_cfgsrc_mix.yaml") - cp, err := config.NewParserFromFile(file) + cp, err := configparser.NewParserFromFile(file) require.NoError(t, err) expectedFile := path.Join("testdata", "envvar_cfgsrc_mix_expected.yaml") - expectedParser, err := config.NewParserFromFile(expectedFile) + expectedParser, err := configparser.NewParserFromFile(expectedFile) require.NoError(t, err) actualParser, err := manager.Resolve(ctx, cp) diff --git a/internal/processor/filtermetric/config_test.go b/internal/processor/filtermetric/config_test.go index 274ae27bdc6..86cfa5f27bd 100644 --- a/internal/processor/filtermetric/config_test.go +++ b/internal/processor/filtermetric/config_test.go @@ -21,7 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/internal/processor/filterset" "go.opentelemetry.io/collector/internal/processor/filterset/regexp" ) @@ -48,7 +48,7 @@ func createConfigWithRegexpOptions(filters []string, rCfg *regexp.Config) *Match func TestConfig(t *testing.T) { testFile := path.Join(".", "testdata", "config.yaml") - v, err := config.NewParserFromFile(testFile) + v, err := configparser.NewParserFromFile(testFile) require.NoError(t, err) testYamls := map[string]MatchProperties{} require.NoErrorf(t, v.UnmarshalExact(&testYamls), "unable to unmarshal yaml from file %v", testFile) diff --git a/internal/processor/filterset/config_test.go b/internal/processor/filterset/config_test.go index 90b4647d3f5..f8a89a96bd9 100644 --- a/internal/processor/filterset/config_test.go +++ b/internal/processor/filterset/config_test.go @@ -21,13 +21,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/internal/processor/filterset/regexp" ) func readTestdataConfigYamls(t *testing.T, filename string) map[string]*Config { testFile := path.Join(".", "testdata", filename) - v, err := config.NewParserFromFile(testFile) + v, err := configparser.NewParserFromFile(testFile) require.NoError(t, err) cfgs := map[string]*Config{} diff --git a/internal/processor/filterset/regexp/config_test.go b/internal/processor/filterset/regexp/config_test.go index 23fd9a9121f..313d5c1cc93 100644 --- a/internal/processor/filterset/regexp/config_test.go +++ b/internal/processor/filterset/regexp/config_test.go @@ -21,12 +21,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) func TestConfig(t *testing.T) { testFile := path.Join(".", "testdata", "config.yaml") - v, err := config.NewParserFromFile(testFile) + v, err := configparser.NewParserFromFile(testFile) require.NoError(t, err) actualConfigs := map[string]*Config{} diff --git a/internal/testcomponents/example_exporter.go b/internal/testcomponents/example_exporter.go index 3fcf225ded0..5543bc231cf 100644 --- a/internal/testcomponents/example_exporter.go +++ b/internal/testcomponents/example_exporter.go @@ -19,6 +19,7 @@ import ( "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/consumer/pdata" "go.opentelemetry.io/collector/exporter/exporterhelper" @@ -37,7 +38,7 @@ type ExampleExporter struct { } // Unmarshal a viper data into the config struct -func (cfg *ExampleExporter) Unmarshal(componentParser *config.Parser) error { +func (cfg *ExampleExporter) Unmarshal(componentParser *configparser.Parser) error { return componentParser.UnmarshalExact(cfg) } diff --git a/receiver/hostmetricsreceiver/config.go b/receiver/hostmetricsreceiver/config.go index 9c292e26797..7cf61ff84f0 100644 --- a/receiver/hostmetricsreceiver/config.go +++ b/receiver/hostmetricsreceiver/config.go @@ -21,6 +21,7 @@ import ( "github.com/spf13/cast" "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/receiver/hostmetricsreceiver/internal" "go.opentelemetry.io/collector/receiver/scraperhelper" ) @@ -48,7 +49,7 @@ func (cfg *Config) Validate() error { } // Unmarshal a config.Parser into the config struct. -func (cfg *Config) Unmarshal(componentParser *config.Parser) error { +func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error { if componentParser == nil { return nil } diff --git a/receiver/jaegerreceiver/config.go b/receiver/jaegerreceiver/config.go index 51ab6352d63..f08387dd262 100644 --- a/receiver/jaegerreceiver/config.go +++ b/receiver/jaegerreceiver/config.go @@ -22,6 +22,7 @@ import ( "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/configparser" ) const ( @@ -96,7 +97,7 @@ func (cfg *Config) Validate() error { } // Unmarshal a config.Parser into the config struct. -func (cfg *Config) Unmarshal(componentParser *config.Parser) error { +func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error { if componentParser == nil || len(componentParser.AllKeys()) == 0 { return fmt.Errorf("empty config for Jaeger receiver") } diff --git a/receiver/otlpreceiver/config.go b/receiver/otlpreceiver/config.go index 19f9faabe99..e22a0169327 100644 --- a/receiver/otlpreceiver/config.go +++ b/receiver/otlpreceiver/config.go @@ -22,6 +22,7 @@ import ( "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configgrpc" "go.opentelemetry.io/collector/config/confighttp" + "go.opentelemetry.io/collector/config/configparser" ) const ( @@ -57,7 +58,7 @@ func (cfg *Config) Validate() error { } // Unmarshal a config.Parser into the config struct. -func (cfg *Config) Unmarshal(componentParser *config.Parser) error { +func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error { if componentParser == nil || len(componentParser.AllKeys()) == 0 { return fmt.Errorf("empty config for OTLP receiver") } diff --git a/receiver/prometheusreceiver/config.go b/receiver/prometheusreceiver/config.go index c8dfd35f287..d7080de38f4 100644 --- a/receiver/prometheusreceiver/config.go +++ b/receiver/prometheusreceiver/config.go @@ -23,6 +23,7 @@ import ( "gopkg.in/yaml.v2" "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) const ( @@ -57,7 +58,7 @@ func (cfg *Config) Validate() error { } // Unmarshal a config.Parser into the config struct. -func (cfg *Config) Unmarshal(componentParser *config.Parser) error { +func (cfg *Config) Unmarshal(componentParser *configparser.Parser) error { if componentParser == nil { return nil } diff --git a/service/application_test.go b/service/application_test.go index 61afc86ca58..44dc273a7cf 100644 --- a/service/application_test.go +++ b/service/application_test.go @@ -34,7 +34,7 @@ import ( "go.uber.org/zap/zapcore" "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/service/defaultcomponents" "go.opentelemetry.io/collector/service/internal/builder" "go.opentelemetry.io/collector/service/parserprovider" @@ -247,7 +247,7 @@ func assertZPages(t *testing.T) { type minimalParserLoader struct{} -func (*minimalParserLoader) Get() (*config.Parser, error) { +func (*minimalParserLoader) Get() (*configparser.Parser, error) { configStr := ` receivers: otlp: @@ -268,14 +268,14 @@ service: processors: [batch] exporters: [logging] ` - return config.NewParserFromBuffer(strings.NewReader(configStr)) + return configparser.NewParserFromBuffer(strings.NewReader(configStr)) } type errParserLoader struct { err error } -func (epl *errParserLoader) Get() (*config.Parser, error) { +func (epl *errParserLoader) Get() (*configparser.Parser, error) { return nil, epl.err } diff --git a/service/parserprovider/default_test.go b/service/parserprovider/default_test.go index 9a90fa4cf3f..d177861d53c 100644 --- a/service/parserprovider/default_test.go +++ b/service/parserprovider/default_test.go @@ -25,6 +25,7 @@ import ( "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configloader" + "go.opentelemetry.io/collector/config/configparser" "go.opentelemetry.io/collector/processor/attributesprocessor" "go.opentelemetry.io/collector/processor/batchprocessor" "go.opentelemetry.io/collector/receiver/jaegerreceiver" @@ -44,7 +45,7 @@ func TestDefault(t *testing.T) { require.NoError(t, err) pl := Default() require.NotNil(t, pl) - var cp *config.Parser + var cp *configparser.Parser cp, err = pl.Get() require.NoError(t, err) require.NotNil(t, cp) @@ -64,7 +65,7 @@ func TestDefault(t *testing.T) { require.NoError(t, err) pl := Default() require.NotNil(t, pl) - var cp *config.Parser + var cp *configparser.Parser cp, err = pl.Get() require.NoError(t, err) require.NotNil(t, cp) @@ -100,7 +101,7 @@ func TestDefault(t *testing.T) { require.NoError(t, err) pl := Default() require.NotNil(t, pl) - var cp *config.Parser + var cp *configparser.Parser cp, err = pl.Get() require.NoError(t, err) require.NotNil(t, cp) diff --git a/service/parserprovider/file.go b/service/parserprovider/file.go index 63c88ca54fa..9c0ea40bd30 100644 --- a/service/parserprovider/file.go +++ b/service/parserprovider/file.go @@ -18,7 +18,7 @@ import ( "errors" "fmt" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) type fileProvider struct{} @@ -29,13 +29,13 @@ func NewFile() ParserProvider { return &fileProvider{} } -func (fl *fileProvider) Get() (*config.Parser, error) { +func (fl *fileProvider) Get() (*configparser.Parser, error) { fileName := getConfigFlag() if fileName == "" { return nil, errors.New("config file not specified") } - cp, err := config.NewParserFromFile(fileName) + cp, err := configparser.NewParserFromFile(fileName) if err != nil { return nil, fmt.Errorf("error loading config file %q: %v", fileName, err) } diff --git a/service/parserprovider/inmemory.go b/service/parserprovider/inmemory.go index b5b8ad14831..80dd4120b66 100644 --- a/service/parserprovider/inmemory.go +++ b/service/parserprovider/inmemory.go @@ -17,7 +17,7 @@ package parserprovider import ( "io" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) type inMemoryProvider struct { @@ -29,6 +29,6 @@ func NewInMemory(buf io.Reader) ParserProvider { return &inMemoryProvider{buf: buf} } -func (inp *inMemoryProvider) Get() (*config.Parser, error) { - return config.NewParserFromBuffer(inp.buf) +func (inp *inMemoryProvider) Get() (*configparser.Parser, error) { + return configparser.NewParserFromBuffer(inp.buf) } diff --git a/service/parserprovider/provider.go b/service/parserprovider/provider.go index b296e2a2258..7b404c391d1 100644 --- a/service/parserprovider/provider.go +++ b/service/parserprovider/provider.go @@ -17,14 +17,14 @@ package parserprovider import ( "context" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) // ParserProvider is an interface that helps providing configuration's parser. // Implementations may load the parser from a file, a database or any other source. type ParserProvider interface { // Get returns the config.Parser if succeed or error otherwise. - Get() (*config.Parser, error) + Get() (*configparser.Parser, error) } // Watchable is an extension for ParserProvider that is implemented if the given provider diff --git a/service/parserprovider/setflag.go b/service/parserprovider/setflag.go index 8434fea27bf..f7056658ff8 100644 --- a/service/parserprovider/setflag.go +++ b/service/parserprovider/setflag.go @@ -21,7 +21,7 @@ import ( "github.com/spf13/viper" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) const setFlagFileType = "properties" @@ -41,7 +41,7 @@ func NewSetFlag(base ParserProvider) ParserProvider { } } -func (sfl *setFlagProvider) Get() (*config.Parser, error) { +func (sfl *setFlagProvider) Get() (*configparser.Parser, error) { flagProperties := getSetFlag() if len(flagProperties) == 0 { return sfl.base.Get() @@ -54,7 +54,7 @@ func (sfl *setFlagProvider) Get() (*config.Parser, error) { return nil, err } } - viperFlags := viper.NewWithOptions(viper.KeyDelimiter(config.KeyDelimiter)) + viperFlags := viper.NewWithOptions(viper.KeyDelimiter(configparser.KeyDelimiter)) viperFlags.SetConfigType(setFlagFileType) if err := viperFlags.ReadConfig(b); err != nil { return nil, fmt.Errorf("failed to read set flag config: %v", err) @@ -84,7 +84,7 @@ func (sfl *setFlagProvider) Get() (*config.Parser, error) { rootKeys := map[string]struct{}{} for _, k := range viperFlags.AllKeys() { - keys := strings.Split(k, config.KeyDelimiter) + keys := strings.Split(k, configparser.KeyDelimiter) if len(keys) > 0 { rootKeys[keys[0]] = struct{}{} } diff --git a/service/parserprovider/setflag_test.go b/service/parserprovider/setflag_test.go index 6ac6a88cf34..be9e07490d3 100644 --- a/service/parserprovider/setflag_test.go +++ b/service/parserprovider/setflag_test.go @@ -21,7 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configparser" ) func TestSetFlags(t *testing.T) { @@ -59,6 +59,6 @@ func TestSetFlags_empty(t *testing.T) { type emptyProvider struct{} -func (el *emptyProvider) Get() (*config.Parser, error) { - return config.NewParser(), nil +func (el *emptyProvider) Get() (*configparser.Parser, error) { + return configparser.NewParser(), nil }