package main import ( "io/ioutil" "log" "gopkg.in/yaml.v2" ) // Config stores application configuration type Config struct { Secure bool Hostname string Port int Path string Token string } // Load the configuration func loadConfig(path string) Config { // Load data dat, err := ioutil.ReadFile(path) if err != nil { log.Fatalf("Could not read configuration: %v", err) } // Decode data conf := Config{} err = yaml.UnmarshalStrict(dat, &conf) if err != nil { log.Fatalf("Could not decode configuration: %v", err) } return conf }