forked from Nixius/authelia
56 lines
1.9 KiB
Go
56 lines
1.9 KiB
Go
package config
|
|
|
|
import "os"
|
|
|
|
type Config struct {
|
|
Port string
|
|
AppURL string
|
|
AutheliaURL string
|
|
AutheliaInternalURL string
|
|
StripeSecretKey string
|
|
StripeWebhookSecret string
|
|
StripePriceID string
|
|
LDAPUrl string
|
|
LDAPAdminDN string
|
|
LDAPAdminPassword string
|
|
LDAPBaseDN string
|
|
LLDAPHttpURL string
|
|
DockerHost string
|
|
TraefikDomain string
|
|
TraefikNetwork string
|
|
TemplatePath string
|
|
CustomerDomain string
|
|
ArchivePath string
|
|
}
|
|
|
|
func Load() *Config {
|
|
return &Config{
|
|
Port: envOrDefault("PORT", "8080"),
|
|
AppURL: envOrDefault("APP_URL", "http://app.bc.a250.ca"),
|
|
AutheliaURL: envOrDefault("AUTHELIA_URL", "http://login.bc.a250.ca"),
|
|
AutheliaInternalURL: envOrDefault("AUTHELIA_INTERNAL_URL", "http://authelia_dev_main:9091"),
|
|
StripeSecretKey: envOrDefault("STRIPE_SECRET_KEY", ""),
|
|
StripeWebhookSecret: envOrDefault("STRIPE_WEBHOOK_SECRET", ""),
|
|
StripePriceID: envOrDefault("STRIPE_PRICE_ID", ""),
|
|
LDAPUrl: envOrDefault("LLDAP_URL", "ldap://lldap_lldap:3890"),
|
|
LDAPAdminDN: envOrDefault("LLDAP_ADMIN_DN", "uid=admin,ou=people,dc=a250,dc=ca"),
|
|
LDAPAdminPassword: envOrDefault("LLDAP_ADMIN_PASSWORD", ""),
|
|
LDAPBaseDN: envOrDefault("LLDAP_BASE_DN", "dc=a250,dc=ca"),
|
|
LLDAPHttpURL: envOrDefault("LLDAP_HTTP_URL", "http://lldap:17170"),
|
|
DockerHost: envOrDefault("DOCKER_HOST", "unix:///var/run/docker.sock"),
|
|
TraefikDomain: envOrDefault("TRAEFIK_DOMAIN", "bc.a250.ca"),
|
|
TraefikNetwork: envOrDefault("TRAEFIK_NETWORK", "authelia_dev"),
|
|
TemplatePath: envOrDefault("TEMPLATE_PATH", "/app/templates"),
|
|
CustomerDomain: envOrDefault("CUSTOMER_DOMAIN", "app.a250.ca"),
|
|
ArchivePath: envOrDefault("ARCHIVE_PATH", "/archives"),
|
|
}
|
|
}
|
|
|
|
func envOrDefault(key, fallback string) string {
|
|
if v := os.Getenv(key); v != "" {
|
|
return v
|
|
}
|
|
return fallback
|
|
}
|
|
|