package publicFrontend import ( "github.com/michaelquigley/cf" "github.com/pkg/errors" "time" ) type Config struct { Identity string Metrics *MetricsConfig Address string HostMatch string } type MetricsConfig struct { Service string SendTimeout time.Duration } func DefaultConfig() *Config { return &Config{ Identity: "frontend", Metrics: &MetricsConfig{ Service: "metrics", SendTimeout: 5 * time.Second, }, Address: "0.0.0.0:8080", } } func (c *Config) Load(path string) error { if err := cf.BindYaml(c, path, cf.DefaultOptions()); err != nil { return errors.Wrapf(err, "error loading frontend config '%v'", path) } return nil }