diff --git a/cmd/hepto/config.go b/cmd/hepto/config.go index 62ef6eae3e3571ea3792aafeacb0e7e2a2ff4135..4c29a4a5d924ef52ba98d6ed99c7a082a2c2337e 100644 --- a/cmd/hepto/config.go +++ b/cmd/hepto/config.go @@ -73,7 +73,7 @@ func (c *Config) FlagSet() *flag.FlagSet { // Node settings fs.StringVar(&config.Node.Name, "name", "", "Hepto node name") - fs.StringVar(&config.Node.Role, "role", "node", "Node role inside the cluster") + fs.StringVar(&config.Node.Role, "role", "", "Node role inside the cluster") return fs } @@ -94,6 +94,9 @@ func (c *Config) Validate() error { if c.Node.Name == "" { return fmt.Errorf("must provide a valid node name") } + if c.Node.Role != "master" && c.Node.Role != "node" && c.Node.Role != "full" { + return fmt.Errorf("role must be 'master', 'node' or 'full'") + } // Initialize logging, default to warn level zapLogger, logrusLogger, err := utils.NewLoggers(config.LogLevel, os.Stderr) if err != nil {