diff --git a/config/config.go b/config/config.go index f6eb5760..47470c1e 100644 --- a/config/config.go +++ b/config/config.go @@ -31,13 +31,16 @@ var mysqlInfo = &MysqlInfo{ func ParseConfig(path string) error { cfg, err := ini.Load(path) + if err != nil { + return err + } if err := cfg.Section("redis").MapTo(redisInfo); err != nil { return err } if redisInfo.Host == "" { - return errors.New("config: missing redis host") + return errors.New("missing redis host") } if err = cfg.Section("mysql").MapTo(mysqlInfo); err != nil { @@ -45,10 +48,10 @@ func ParseConfig(path string) error { } if mysqlInfo.Host == "" { - return errors.New("config: missing mysql host") + return errors.New("missing mysql host") } if mysqlInfo.User == "" || mysqlInfo.Password == "" { - return errors.New("config: missing mysql credentials") + return errors.New("missing mysql credentials") } return nil diff --git a/main.go b/main.go index 7c6c3a4b..dcfb0827 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "flag" "git.icinga.com/icingadb/icingadb-connection" "git.icinga.com/icingadb/icingadb-ha" "git.icinga.com/icingadb/icingadb-json-decoder" @@ -11,16 +12,12 @@ import ( log "github.com/sirupsen/logrus" ) -type RedisInfo struct { - host string - port int - user string - password string -} - func main() { - if err := config.ParseConfig("icingadb.ini"); err != nil { - log.Fatal(err) + configPath := flag.String("config", "icingadb.ini", "path to config") + flag.Parse() + + if err := config.ParseConfig(*configPath); err != nil { + log.Fatalf("Error reading config: %v", err) } redisInfo := config.GetRedisInfo()