github.com/jvandenbroek/directory_stat_exporter@v0.2.0/cfg/config.go (about) 1 package cfg 2 3 import ( 4 "gopkg.in/yaml.v2" 5 "io/ioutil" 6 "log" 7 ) 8 9 type Dir struct { 10 Name string 11 Path string 12 Recursive bool 13 } 14 type Config struct { 15 ServicePort string 16 CacheTime int 17 Directories []Dir 18 } 19 20 func GetConfig(fileName string) Config { 21 Cfg := Config{} 22 // set default values 23 Cfg.ServicePort = "9999" 24 Cfg.CacheTime = 5 25 26 var cfgFile = "config.yml" 27 if fileName != "" { 28 cfgFile = fileName 29 } 30 cfgFileBytes, err := ioutil.ReadFile(cfgFile) 31 if err != nil { 32 log.Print("unable to load config", err) 33 } else { 34 err = yaml.Unmarshal(cfgFileBytes, &Cfg) 35 if err != nil { 36 log.Print("unable to load config", err) 37 } 38 } 39 40 return Cfg 41 }