diff --git a/cmd/commandfuncs.go b/cmd/commandfuncs.go index 83fc52d5c..0067d3b60 100644 --- a/cmd/commandfuncs.go +++ b/cmd/commandfuncs.go @@ -264,12 +264,6 @@ func cmdReload(fl Flags) (int, error) { reloadCmdConfigAdapterFlag := fl.String("adapter") reloadCmdAddrFlag := fl.String("address") - // a configuration is required - if reloadCmdConfigFlag == "" { - return caddy.ExitCodeFailedStartup, - fmt.Errorf("no configuration to load (use --config)") - } - // get the config in caddy's native format config, err := loadConfig(reloadCmdConfigFlag, reloadCmdConfigAdapterFlag) if err != nil { @@ -278,7 +272,7 @@ func cmdReload(fl Flags) (int, error) { // get the address of the admin listener and craft endpoint URL adminAddr := reloadCmdAddrFlag - if adminAddr == "" { + if adminAddr == "" && len(config) > 0 { var tmpStruct struct { Admin caddy.AdminConfig `json:"admin"` } diff --git a/cmd/main.go b/cmd/main.go index 54d11d88d..35f42106a 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -97,7 +97,7 @@ func handlePingbackConn(conn net.Conn, expect []byte) error { // the resulting JSON config bytes. func loadConfig(configFile, adapterName string) ([]byte, error) { // specifying an adapter without a config file is ambiguous - if configFile == "" && adapterName != "" { + if adapterName != "" && configFile == "" { return nil, fmt.Errorf("cannot adapt config without config file (use --config)") }