package internal import ( "fmt" "time" "github.com/jinzhu/configor" ) type Config = struct { LogLevel string `default:"Info" env:"CANADA_KAKTUS_LOGLEVEL"` LabelSelector string `default:"kops.k8s.io/instance-role=Node" env:"CANADA_KAKTUS_LABELSELECTOR"` HcloudToken string `default:"" env:"CANADA_KAKTUS_HCLOUD_TOKEN"` } func GenConfig() (cfg *Config, err error) { cfg = &Config{} err = configor.New(&configor.Config{ ENVPrefix: "CANADA_KAKTUS", AutoReload: true, Silent: true, AutoReloadInterval: time.Minute}).Load(cfg, "config.json") if err != nil { return nil, fmt.Errorf("error generating Config: %s", err.Error()) } return cfg, nil }