sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGTERM, syscall.SIGINT, os.Interrupt)
+ configDir := flag.String("config", defaultConfigPath(), "Path to config root")
version := flag.Bool("version", false, "print version and exit")
logLevel := flag.String("log-level", "info", "Log level")
logFile := flag.String("log-file", "", "output logs to file")
cancelRoot()
}()
- cfgPath := defaultConfigPath()
-
- client := hotline.NewClient(cfgPath, logger)
+ client := hotline.NewClient(*configDir, logger)
client.DebugBuf = db
client.UI.Start()
}
func defaultConfigPath() (cfgPath string) {
- os := runtime.GOOS
- switch os {
+ switch runtime.GOOS {
case "windows":
cfgPath = "mobius-client-config.yaml"
case "darwin":
- cfgPath = "/usr/local/etc/mobius-client-config.yaml"
+ if _, err := os.Stat("/usr/local/etc/mobius-client-config.yaml"); err == nil {
+ cfgPath = "/usr/local/etc/mobius-client-config.yaml"
+ } else if _, err := os.Stat("/opt/homebrew/etc/mobius-client-config.yaml"); err == nil {
+ cfgPath = "/opt/homebrew/etc/mobius-client-config.yaml"
+ }
case "linux":
cfgPath = "/usr/local/etc/mobius-client-config.yaml"
default: