From c1df5b1b0b032b4ee926369c2325aca0de93c67c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 31 Jul 2023 11:20:37 +0200 Subject: [PATCH] config: Do not fail on unknown config keys Make it a warning. One such example I found in an old site is `blackfriday`. These should be fixed/removed, but it's not important enough to fail the build. --- config/allconfig/allconfig.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index 1c1b0b990..134df1f5c 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -744,7 +744,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon all := &Config{} - err := decodeConfigFromParams(fs, bcfg, cfg, all, nil) + err := decodeConfigFromParams(fs, logger, bcfg, cfg, all, nil) if err != nil { return nil, err } @@ -832,7 +832,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon // 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 { @@ -904,7 +904,7 @@ func fromLoadConfigResult(fs afero.Fs, logger loggers.Logger, res config.LoadCon 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 @@ -917,7 +917,7 @@ func decodeConfigFromParams(fs afero.Fs, bcfg config.BaseConfig, p config.Provid 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) } } }