in internal/processorexecutor.go [66:89]
func (p *processorExecutor[C]) parseConfig(yamlConfig string) (*C, error) {
deserializedYaml, err := confmap.NewRetrievedFromYAML([]byte(yamlConfig))
if err != nil {
return nil, err
}
deserializedConf, err := deserializedYaml.AsConf()
if err != nil {
return nil, err
}
configMap := make(map[string]any)
for k, v := range deserializedConf.ToStringMap() {
configMap[k] = escapeDollarSigns(v)
}
defaultConfig := p.factory.CreateDefaultConfig().(*C)
err = confmap.NewFromStringMap(configMap).Unmarshal(&defaultConfig)
if err != nil {
return nil, err
}
return defaultConfig, nil
}