Added ability to trigger check from command line
This commit is contained in:
30
main.go
30
main.go
@ -44,15 +44,39 @@ func main() {
|
||||
}
|
||||
fmt.Fprintf(os.Stdout, "%s\n", string(o))
|
||||
|
||||
case "", "config":
|
||||
case "check", "config", "":
|
||||
_, err := config.ReadConfig(*cfgPath, *debuglvl)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Fprintf(os.Stdout, "Config is OK.\n")
|
||||
os.Exit(0)
|
||||
|
||||
case "test":
|
||||
cfg, err := config.ReadConfig(*cfgPath, *debuglvl)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
tn := flag.Arg(1)
|
||||
if tn == "" {
|
||||
fmt.Fprintf(os.Stderr, "test requires a host or group\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
group, exists := cfg.Groups[tn]
|
||||
if !exists {
|
||||
fmt.Fprintf(os.Stderr, "group or host is not defined\n")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err = group.Check()
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Check failed: %s\n", err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
fmt.Fprintf(os.Stdout, "Check successful\n")
|
||||
|
||||
default:
|
||||
fmt.Fprintf(os.Stderr, "Unknown command: %s\n", command)
|
||||
|
||||
Reference in New Issue
Block a user