diff --git a/changelog/14752.txt b/changelog/14752.txt new file mode 100644 index 0000000000000..3cc5fd0f37d46 --- /dev/null +++ b/changelog/14752.txt @@ -0,0 +1,3 @@ +```release-note:bug +core: report unused or redundant keys in server configuration +``` diff --git a/command/server.go b/command/server.go index 050e3f80798cb..e04f261719ff6 100644 --- a/command/server.go +++ b/command/server.go @@ -427,7 +427,7 @@ func (c *ServerCommand) parseConfig() (*server.Config, []configutil.ConfigError, } func (c *ServerCommand) runRecoveryMode() int { - config, _, err := c.parseConfig() + config, configErrors, err := c.parseConfig() if err != nil { c.UI.Error(err.Error()) return 1 @@ -457,6 +457,11 @@ func (c *ServerCommand) runRecoveryMode() int { JSONFormat: logFormat == logging.JSONFormat, }) + // reporting Errors found in the config + for _, cErr := range configErrors { + c.logger.Warn(cErr.String()) + } + // Ensure logging is flushed if initialization fails defer c.flushLog() @@ -1066,7 +1071,7 @@ func (c *ServerCommand) Run(args []string) int { config.Listeners[0].Telemetry.UnauthenticatedMetricsAccess = true } - parsedConfig, _, err := c.parseConfig() + parsedConfig, configErrors, err := c.parseConfig() if err != nil { c.UI.Error(err.Error()) return 1 @@ -1111,6 +1116,11 @@ func (c *ServerCommand) Run(args []string) int { }) } + // reporting Errors found in the config + for _, cErr := range configErrors { + c.logger.Warn(cErr.String()) + } + // Ensure logging is flushed if initialization fails defer c.flushLog() @@ -1213,7 +1223,6 @@ func (c *ServerCommand) Run(args []string) int { info["log level"] = logLevelString infoKeys = append(infoKeys, "log level") barrierSeal, barrierWrapper, unwrapSeal, seals, sealConfigError, err := setSeal(c, config, infoKeys, info) - // Check error here if err != nil { c.UI.Error(err.Error()) @@ -1520,6 +1529,7 @@ func (c *ServerCommand) Run(args []string) int { // Check for new log level var config *server.Config var level log.Level + var configErrors []configutil.ConfigError for _, path := range c.flagConfigs { current, err := server.LoadConfig(path) if err != nil { @@ -1527,6 +1537,8 @@ func (c *ServerCommand) Run(args []string) int { goto RUNRELOADFUNCS } + configErrors = append(configErrors, current.Validate(path)...) + if config == nil { config = current } else { @@ -1540,6 +1552,11 @@ func (c *ServerCommand) Run(args []string) int { goto RUNRELOADFUNCS } + // reporting Errors found in the config + for _, cErr := range configErrors { + c.logger.Warn(cErr.String()) + } + core.SetConfig(config) if config.LogLevel != "" {