ソースを参照

feature: issue #38 - Config Directories

jamesread 4 年 前
コミット
3ad640aee0
1 ファイル変更11 行追加1 行削除
  1. 11 1
      cmd/OliveTin/main.go

+ 11 - 1
cmd/OliveTin/main.go

@@ -1,6 +1,8 @@
 package main
 package main
 
 
 import (
 import (
+	"flag"
+
 	log "github.com/sirupsen/logrus"
 	log "github.com/sirupsen/logrus"
 
 
 	grpcapi "github.com/jamesread/OliveTin/internal/grpcapi"
 	grpcapi "github.com/jamesread/OliveTin/internal/grpcapi"
@@ -30,10 +32,18 @@ func init() {
 
 
 	log.SetLevel(log.DebugLevel) // Default to debug, to catch cfg issues
 	log.SetLevel(log.DebugLevel) // Default to debug, to catch cfg issues
 
 
+	var configDir string;
+	flag.StringVar(&configDir, "configdir", ".", "Config directory path")
+	flag.Parse()
+
+	log.WithFields(log.Fields{
+		"value": configDir,
+	}).Debugf("Value of -configdir flag")
+
 	viper.AutomaticEnv()
 	viper.AutomaticEnv()
 	viper.SetConfigName("config.yaml")
 	viper.SetConfigName("config.yaml")
 	viper.SetConfigType("yaml")
 	viper.SetConfigType("yaml")
-	viper.AddConfigPath(".")
+	viper.AddConfigPath(configDir)
 	viper.AddConfigPath("/config") // For containers.
 	viper.AddConfigPath("/config") // For containers.
 	viper.AddConfigPath("/etc/OliveTin/")
 	viper.AddConfigPath("/etc/OliveTin/")