65 lines
3.1 KiB
Go
65 lines
3.1 KiB
Go
package config
|
|
|
|
type Config struct {
|
|
// Core specific config
|
|
Paths PathsConfig `yaml:"paths"`
|
|
LogLevel string `yaml:"log_level" env:"AUTHENTIK_LOG_LEVEL"`
|
|
ErrorReporting ErrorReportingConfig `yaml:"error_reporting"`
|
|
Redis RedisConfig `yaml:"redis"`
|
|
Outposts OutpostConfig `yaml:"outposts"`
|
|
|
|
// Config for core and embedded outpost
|
|
SecretKey string `yaml:"secret_key" env:"AUTHENTIK_SECRET_KEY"`
|
|
|
|
// Config for both core and outposts
|
|
Debug bool `yaml:"debug" env:"AUTHENTIK_DEBUG"`
|
|
Listen ListenConfig `yaml:"listen"`
|
|
|
|
// Outpost specific config
|
|
// These are only relevant for proxy/ldap outposts, and cannot be set via YAML
|
|
// They are loaded via this config loader to support file:// schemas
|
|
AuthentikHost string `env:"AUTHENTIK_HOST"`
|
|
AuthentikToken string `env:"AUTHENTIK_TOKEN"`
|
|
AuthentikInsecure bool `env:"AUTHENTIK_INSECURE"`
|
|
}
|
|
|
|
type RedisConfig struct {
|
|
Host string `yaml:"host" env:"AUTHENTIK_REDIS__HOST"`
|
|
Port int `yaml:"port" env:"AUTHENTIK_REDIS__PORT"`
|
|
Password string `yaml:"password" env:"AUTHENTIK_REDIS__PASSWORD"`
|
|
TLS bool `yaml:"tls" env:"AUTHENTIK_REDIS__TLS"`
|
|
TLSReqs string `yaml:"tls_reqs" env:"AUTHENTIK_REDIS__TLS_REQS"`
|
|
DB int `yaml:"cache_db" env:"AUTHENTIK_REDIS__CACHE_DB"`
|
|
CacheTimeout int `yaml:"cache_timeout" env:"AUTHENTIK_REDIS__CACHE_TIMEOUT"`
|
|
CacheTimeoutFlows int `yaml:"cache_timeout_flows" env:"AUTHENTIK_REDIS__CACHE_TIMEOUT_FLOWS"`
|
|
CacheTimeoutPolicies int `yaml:"cache_timeout_policies" env:"AUTHENTIK_REDIS__CACHE_TIMEOUT_POLICIES"`
|
|
CacheTimeoutReputation int `yaml:"cache_timeout_reputation" env:"AUTHENTIK_REDIS__CACHE_TIMEOUT_REPUTATION"`
|
|
}
|
|
|
|
type ListenConfig struct {
|
|
HTTP string `yaml:"listen_http" env:"AUTHENTIK_LISTEN__HTTP"`
|
|
HTTPS string `yaml:"listen_https" env:"AUTHENTIK_LISTEN__HTTPS"`
|
|
LDAP string `yaml:"listen_ldap" env:"AUTHENTIK_LISTEN__LDAP"`
|
|
LDAPS string `yaml:"listen_ldaps" env:"AUTHENTIK_LISTEN__LDAPS"`
|
|
Metrics string `yaml:"listen_metrics" env:"AUTHENTIK_LISTEN__METRICS"`
|
|
Debug string `yaml:"listen_debug" env:"AUTHENTIK_LISTEN__DEBUG"`
|
|
}
|
|
|
|
type PathsConfig struct {
|
|
Media string `yaml:"media"`
|
|
}
|
|
|
|
type ErrorReportingConfig struct {
|
|
Enabled bool `yaml:"enabled" env:"AUTHENTIK_ERROR_REPORTING__ENABLED"`
|
|
SentryDSN string `yaml:"sentry_dsn" env:"AUTHENTIK_ERROR_REPORTING__SENTRY_DSN"`
|
|
Environment string `yaml:"environment" env:"AUTHENTIK_ERROR_REPORTING__ENVIRONMENT"`
|
|
SendPII bool `yaml:"send_pii" env:"AUTHENTIK_ERROR_REPORTING__SEND_PII"`
|
|
SampleRate float64 `yaml:"sample_rate" env:"AUTHENTIK_ERROR_REPORTING__SAMPLE_RATE"`
|
|
}
|
|
|
|
type OutpostConfig struct {
|
|
ContainerImageBase string `yaml:"container_image_base" env:"AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE"`
|
|
Discover bool `yaml:"discover" env:"AUTHENTIK_OUTPOSTS__DISCOVER"`
|
|
DisableEmbeddedOutpost bool `yaml:"disable_embedded_outpost" env:"AUTHENTIK_OUTPOSTS__DISABLE_EMBEDDED_OUTPOST"`
|
|
}
|