open-consul/main.go

60 lines
919 B
Go

package main
import (
"fmt"
"io/ioutil"
"log"
"os"
"github.com/hashicorp/consul/command"
"github.com/hashicorp/consul/lib"
"github.com/mitchellh/cli"
)
func init() {
lib.SeedMathRand()
}
func main() {
os.Exit(realMain())
}
func realMain() int {
log.SetOutput(ioutil.Discard)
args := os.Args[1:]
for _, arg := range args {
if arg == "--" {
break
}
if arg == "-v" || arg == "--version" {
args = []string{"version"}
break
}
}
var cmds []string
for c := range command.Commands {
if c != "configtest" {
cmds = append(cmds, c)
}
}
cli := &cli.CLI{
Args: args,
Commands: command.Commands,
Autocomplete: true,
Name: "consul",
HelpFunc: cli.FilteredHelpFunc(cmds, cli.BasicHelpFunc("consul")),
}
exitCode, err := cli.Run()
if err != nil {
fmt.Fprintf(os.Stderr, "Error executing CLI: %s\n", err.Error())
return 1
}
return exitCode
}