func main() { var cfg config if err := envdecode.Decode(&cfg); err != nil { log.Fatalf("Failed to decode: %s", err) } log.Println("TEST_STRING:", cfg.TestString) }
func NewIssConfig() (IssConfig, error) { config := IssConfig{} err := envdecode.Decode(&config) if err != nil { return config, err } if config.PemFile != "" { pemFileData, err := ioutil.ReadFile(config.PemFile) if err != nil { return config, fmt.Errorf("Unable to read pemfile: %s", err) } cp := x509.NewCertPool() if ok := cp.AppendCertsFromPEM(pemFileData); !ok { return config, fmt.Errorf("Error parsing PEM: %s", config.PemFile) } config.TlsConfig = &tls.Config{RootCAs: cp} } sp := make([]string, 0, 2) if config.LibratoSource != "" { sp = append(sp, config.LibratoSource) } if config.Dyno != "" { sp = append(sp, config.Dyno) } config.LibratoSource = strings.Join(sp, ".") config.MetricsRegistry = metrics.NewRegistry() return config, nil }