39 lines
984 B
Go
39 lines
984 B
Go
package config
|
|
|
|
import "os"
|
|
|
|
type Config struct {
|
|
AppEnv string
|
|
HTTPAddr string
|
|
DatabaseURL string
|
|
RedisURL string
|
|
AuthUsername string
|
|
AuthPassword string
|
|
MattermostBaseURL string
|
|
MattermostToken string
|
|
PlaneBaseURL string
|
|
PlaneToken string
|
|
}
|
|
|
|
func Load() Config {
|
|
return Config{
|
|
AppEnv: getEnv("APP_ENV", "local"),
|
|
HTTPAddr: getEnv("HTTP_ADDR", ":8080"),
|
|
DatabaseURL: os.Getenv("DATABASE_URL"),
|
|
RedisURL: os.Getenv("REDIS_URL"),
|
|
AuthUsername: getEnv("AUTH_USERNAME", "nomadcode"),
|
|
AuthPassword: os.Getenv("AUTH_PASSWORD"),
|
|
MattermostBaseURL: os.Getenv("MATTERMOST_BASE_URL"),
|
|
MattermostToken: os.Getenv("MATTERMOST_TOKEN"),
|
|
PlaneBaseURL: os.Getenv("PLANE_BASE_URL"),
|
|
PlaneToken: os.Getenv("PLANE_TOKEN"),
|
|
}
|
|
}
|
|
|
|
func getEnv(key, fallback string) string {
|
|
value := os.Getenv(key)
|
|
if value == "" {
|
|
return fallback
|
|
}
|
|
return value
|
|
}
|