all := &Config{}
- err := decodeConfigFromParams(fs, bcfg, cfg, all, nil)
+ err := decodeConfigFromParams(fs, logger, bcfg, cfg, all, nil)
if err != nil {
return nil, err
}
// Create a copy of the complete config and replace the root keys with the language specific ones.
clone := all.cloneForLang()
- if err := decodeConfigFromParams(fs, bcfg, mergedConfig, clone, differentRootKeys); err != nil {
+ if err := decodeConfigFromParams(fs, logger, bcfg, mergedConfig, clone, differentRootKeys); err != nil {
return nil, fmt.Errorf("failed to decode config for language %q: %w", k, err)
}
if err := clone.CompileConfig(logger); err != nil {
return cm, nil
}
-func decodeConfigFromParams(fs afero.Fs, bcfg config.BaseConfig, p config.Provider, target *Config, keys []string) error {
+func decodeConfigFromParams(fs afero.Fs, logger loggers.Logger, bcfg config.BaseConfig, p config.Provider, target *Config, keys []string) error {
var decoderSetups []decodeWeight
if v, found := allDecoderSetups[key]; found {
decoderSetups = append(decoderSetups, v)
} else {
- return fmt.Errorf("unknown config key %q", key)
+ logger.Warnf("Skip unknown config key %q", key)
}
}
}