diff --git a/main.go b/main.go index 5bf21b4..c2d42a3 100644 --- a/main.go +++ b/main.go @@ -4,8 +4,6 @@ import ( "flag" "fmt" "net/http" - "os" - "strconv" "time" rice "github.com/GeertJohan/go.rice" @@ -44,12 +42,12 @@ const ( func init() { // command-line flags and env variables - flag.BoolVar(&flagDisableLogin, "disable-login", LookupEnvOrBool("DISABLE_LOGIN", flagDisableLogin), "Disable login page. Turn off authentication.") - flag.StringVar(&flagBindAddress, "bind-address", LookupEnvOrString("BIND_ADDRESS", flagBindAddress), "Address:Port to which the app will be bound.") - flag.StringVar(&flagSendgridApiKey, "sendgrid-api-key", LookupEnvOrString("SENDGRID_API_KEY", flagSendgridApiKey), "Your sendgrid api key.") - flag.StringVar(&flagEmailFrom, "email-from", LookupEnvOrString("EMAIL_FROM_ADDRESS", flagEmailFrom), "'From' email address.") - flag.StringVar(&flagEmailFromName, "email-from-name", LookupEnvOrString("EMAIL_FROM_NAME", flagEmailFromName), "'From' email name.") - flag.StringVar(&flagSessionSecret, "session-secret", LookupEnvOrString("SESSION_SECRET", flagSessionSecret), "The key used to encrypt session cookies.") + flag.BoolVar(&flagDisableLogin, "disable-login", util.LookupEnvOrBool("DISABLE_LOGIN", flagDisableLogin), "Disable login page. Turn off authentication.") + flag.StringVar(&flagBindAddress, "bind-address", util.LookupEnvOrString("BIND_ADDRESS", flagBindAddress), "Address:Port to which the app will be bound.") + flag.StringVar(&flagSendgridApiKey, "sendgrid-api-key", util.LookupEnvOrString("SENDGRID_API_KEY", flagSendgridApiKey), "Your sendgrid api key.") + flag.StringVar(&flagEmailFrom, "email-from", util.LookupEnvOrString("EMAIL_FROM_ADDRESS", flagEmailFrom), "'From' email address.") + flag.StringVar(&flagEmailFromName, "email-from-name", util.LookupEnvOrString("EMAIL_FROM_NAME", flagEmailFromName), "'From' email name.") + flag.StringVar(&flagSessionSecret, "session-secret", util.LookupEnvOrString("SESSION_SECRET", flagSessionSecret), "The key used to encrypt session cookies.") flag.Parse() // update runtime config @@ -127,32 +125,3 @@ func main() { app.Logger.Fatal(app.Start(util.BindAddress)) } - -func LookupEnvOrString(key string, defaultVal string) string { - if val, ok := os.LookupEnv(key); ok { - return val - } - return defaultVal -} - -func LookupEnvOrBool(key string, defaultVal bool) bool { - if val, ok := os.LookupEnv(key); ok { - v, err := strconv.ParseBool(val) - if err != nil { - fmt.Fprintf(os.Stderr, "LookupEnvOrInt[%s]: %v\n", key, err) - } - return v - } - return defaultVal -} - -func LookupEnvOrInt(key string, defaultVal int) int { - if val, ok := os.LookupEnv(key); ok { - v, err := strconv.Atoi(val) - if err != nil { - fmt.Fprintf(os.Stderr, "LookupEnvOrInt[%s]: %v\n", key, err) - } - return v - } - return defaultVal -} diff --git a/util/util.go b/util/util.go index 09e5fd9..676aeb5 100644 --- a/util/util.go +++ b/util/util.go @@ -368,3 +368,32 @@ func WriteWireGuardServerConfig(tmplBox *rice.Box, serverConfig model.Server, cl return nil } + +func LookupEnvOrString(key string, defaultVal string) string { + if val, ok := os.LookupEnv(key); ok { + return val + } + return defaultVal +} + +func LookupEnvOrBool(key string, defaultVal bool) bool { + if val, ok := os.LookupEnv(key); ok { + v, err := strconv.ParseBool(val) + if err != nil { + fmt.Fprintf(os.Stderr, "LookupEnvOrInt[%s]: %v\n", key, err) + } + return v + } + return defaultVal +} + +func LookupEnvOrInt(key string, defaultVal int) int { + if val, ok := os.LookupEnv(key); ok { + v, err := strconv.Atoi(val) + if err != nil { + fmt.Fprintf(os.Stderr, "LookupEnvOrInt[%s]: %v\n", key, err) + } + return v + } + return defaultVal +}