func LoadBangoConfig(fileName string) { var err error _, err = os.Stat(fileName) if err != nil { if os.IsNotExist(err) { panic("Configuration file does not exists: " + err.Error()) } else { panic("Something wrong with configuration file: " + err.Error()) } } var cfg *goconfig.ConfigFile cfg, err = goconfig.LoadConfigFile(fileName) if err != nil { panic("Fail to load configuration file: " + err.Error()) } // Parse the global section config.global.debug = cfg.MustBool("global", "debug", false) // Parse the redis section config.redis.server = cfg.MustValue("redis", "server", "localhost") config.redis.port = cfg.MustValue("redis", "port", "6379") config.redis.db = cfg.MustInt("redis", "db", 0) config.redis.pass = cfg.MustValue("redis", "pass", "") // Parse the fail2ban section config.fail2ban.channel = cfg.MustValue("fail2ban", "channel", "fail2ban") config.fail2ban.jail = cfg.MustValue("fail2ban", "jail", "fail2ban-recidive") config.fail2ban.useF2C = cfg.MustBool("fail2ban", "usef2bclient", true) }