X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/8796b4494547be6825004d82bf40db71524a6400..fd01ba0e7e10dc67ac12afb55e91d909727cfcbf:/cmd/mobius-hotline-server/main.go?ds=sidebyside diff --git a/cmd/mobius-hotline-server/main.go b/cmd/mobius-hotline-server/main.go index cf3c5a9..2f914c4 100644 --- a/cmd/mobius-hotline-server/main.go +++ b/cmd/mobius-hotline-server/main.go @@ -15,6 +15,7 @@ import ( "net/http" "os" "runtime" + "strings" "time" ) @@ -55,17 +56,23 @@ func main() { defer func() { _ = l.Sync() }() logger := l.Sugar() + if !(strings.HasSuffix(*configDir, "/") || strings.HasSuffix(*configDir, "\\")) { + *configDir = *configDir + "/" + } + if *init { - if _, err := os.Stat(*configDir + "/config.yaml"); !os.IsNotExist(err) { - logger.Fatalw("Init failed. Existing config directory found: " + *configDir) - } + if _, err := os.Stat(*configDir + "/config.yaml"); os.IsNotExist(err) { + if err := os.MkdirAll(*configDir, 0750); err != nil { + logger.Fatal(err) + } - if err := os.MkdirAll(*configDir, 0750); err != nil { - logger.Fatal(err) - } + if err := copyDir("mobius/config", *configDir); err != nil { + logger.Fatal(err) + } + logger.Infow("Config dir initialized at " + *configDir) - if err := copyDir("mobius/config", *configDir); err != nil { - logger.Fatal(err) + } else { + logger.Infow("Existing config dir found. Skipping initialization.") } } @@ -130,7 +137,7 @@ var zapLogLevel = map[string]zapcore.Level{ func defaultConfigPath() (cfgPath string) { switch runtime.GOOS { case "windows": - cfgPath = "config" + cfgPath = "config/" case "darwin": if _, err := os.Stat("/usr/local/var/mobius/config/"); err == nil { cfgPath = "/usr/local/var/mobius/config/"