cmd: Use loadConfig() for validate as run, start, and reload do

This commit is contained in:
Matthew Holt 2020-03-09 00:09:15 -06:00
parent 36a6c7daf0
commit 99d34f1c1d
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5

View file

@ -492,35 +492,10 @@ func cmdValidateConfig(fl Flags) (int, error) {
validateCmdConfigFlag := fl.String("config") validateCmdConfigFlag := fl.String("config")
validateCmdAdapterFlag := fl.String("adapter") validateCmdAdapterFlag := fl.String("adapter")
input, err := ioutil.ReadFile(validateCmdConfigFlag) input, _, err := loadConfig(validateCmdConfigFlag, validateCmdAdapterFlag)
if err != nil { if err != nil {
return caddy.ExitCodeFailedStartup, return caddy.ExitCodeFailedStartup, err
fmt.Errorf("reading input file: %v", err)
} }
if validateCmdAdapterFlag != "" {
cfgAdapter := caddyconfig.GetAdapter(validateCmdAdapterFlag)
if cfgAdapter == nil {
return caddy.ExitCodeFailedStartup,
fmt.Errorf("unrecognized config adapter: %s", validateCmdAdapterFlag)
}
adaptedConfig, warnings, err := cfgAdapter.Adapt(input, nil)
if err != nil {
return caddy.ExitCodeFailedStartup, err
}
// print warnings to stderr
for _, warn := range warnings {
msg := warn.Message
if warn.Directive != "" {
msg = fmt.Sprintf("%s: %s", warn.Directive, warn.Message)
}
fmt.Fprintf(os.Stderr, "[WARNING][%s] %s:%d: %s\n", validateCmdAdapterFlag, warn.File, warn.Line, msg)
}
input = adaptedConfig
}
input = caddy.RemoveMetaFields(input) input = caddy.RemoveMetaFields(input)
var cfg *caddy.Config var cfg *caddy.Config