Add config file parsing

This commit is contained in:
Jean Flach 2019-03-20 09:35:32 +01:00
parent e1319b5acd
commit 4f62bf0db1
2 changed files with 12 additions and 12 deletions

View file

@ -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

15
main.go
View file

@ -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()