]> git.r.bdr.sh - rbdr/mobius/blobdiff - cmd/mobius-hotline-server/main.go
Simplify the behavior of init with an existing config
[rbdr/mobius] / cmd / mobius-hotline-server / main.go
index cf3c5a974672edd4b486f871cd7c58f6e626a0c0..07bbc88f5fe982feb4bcd7aabd47f41f79f6eb59 100644 (file)
@@ -56,16 +56,18 @@ func main() {
        logger := l.Sugar()
 
        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.")
                }
        }