package config import ( "log" "strings" "git.sr.ht/~emersion/go-scfg" ) var configPath string = "/etc/10man-api/config" // ConnectionString is used to connect to the database var ConnectionString string // Admins array of steamID64 of users that should become admins var Admins []string var Maps []string func init() { cfg, err := scfg.Load(configPath) if err != nil { log.Fatalf("could not read config file %q", configPath) } for _, d := range cfg { switch d.Name { case "connection-string": if err := d.ParseParams(&ConnectionString); err != nil { log.Fatalf("could not parse connection-string: %v", err) } case "admins": var admins string if err := d.ParseParams(&admins); err != nil { log.Fatalf("could not parse admins: %v", err) } Admins = strings.Split(admins, ",") case "maps": var maps string if err := d.ParseParams(&maps); err != nil { log.Fatalf("could not parse maps: %v", err) } Maps = strings.Split(maps, ",") default: log.Fatalf("illegal config value %q", d.Name) } } if ConnectionString == "" { log.Fatalf("could not parse connection-string") } }