diff --git a/command/agent/agent.go b/command/agent/agent.go index ea8ce12..4c20143 100644 --- a/command/agent/agent.go +++ b/command/agent/agent.go @@ -19,8 +19,11 @@ import ( const gracefulTimeout = 10 * time.Second func Run(args []string) { - // do flags - config := configureAgent() + config, err := configureAgent() + if err != nil { + fmt.Println(err) + os.Exit(1) + } agent := agent.New(config) if err := agent.Start(); err != nil { fmt.Println(err) @@ -104,14 +107,13 @@ func startupJoin(a *agent.Agent) error { return nil } -func configureAgent() *agent.Config { +func configureAgent() (*agent.Config, error) { config := agent.DefaultConfig() // CASCADE_BIND=192.168.0.15:12345 if os.Getenv("CASCADE_BIND") != "" { err := parseFlagAddress(os.Getenv("CASCADE_BIND"), config.BindAddr) if err != nil { - fmt.Printf("Error parsing CASCADE_BIND: %s\n", err) - os.Exit(1) + return nil, err } } // CASCADE_JOIN=127.0.0.1,127.0.0.5 @@ -122,7 +124,7 @@ func configureAgent() *agent.Config { if os.Getenv("CASCADE_NAME") != "" { config.NodeName = os.Getenv("CASCADE_NAME") } - return config + return config, nil } // parseFlagAddress takes a colon-delimited host:port pair as a string, parses