onasty/mailer/config.go(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
package main
import "os"
type Config struct {
AppURL string
NatsURL string
MailgunFrom string
MailgunDomain string
MailgunAPIKey string
LogLevel string
LogFormat string
LogShowLine bool
MetricsEnabled bool
MetricsPort string
}
func NewConfig() *Config {
return &Config{
AppURL: getenvOrDefault("APP_URL", ""),
NatsURL: getenvOrDefault("NATS_URL", ""),
MailgunFrom: getenvOrDefault("MAILGUN_FROM", ""),
MailgunDomain: getenvOrDefault("MAILGUN_DOMAIN", ""),
MailgunAPIKey: getenvOrDefault("MAILGUN_API_KEY", ""),
LogLevel: getenvOrDefault("LOG_LEVEL", "debug"),
LogFormat: getenvOrDefault("LOG_FORMAT", "json"),
LogShowLine: getenvOrDefault("LOG_SHOW_LINE", "true") == "true",
MetricsPort: getenvOrDefault("METRICS_PORT", ""),
MetricsEnabled: getenvOrDefault("METRICS_ENABLED", "true") == "true",
}
}
func getenvOrDefault(key, def string) string {
if v, ok := os.LookupEnv(key); ok {
return v
}
return def
}
|