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