Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecoderOptions ¶
func DecoderOptions(config *mapstructure.DecoderConfig)
DecoderOptions enables necessary mapstructure decode hook functions
func StringToLogLevelHookFunc ¶
func StringToLogLevelHookFunc() mapstructure.DecodeHookFunc
StringToLogLevelHookFunc returns a mapstructure.DecodeHookFunc which parses a logrus Level from a string
func StringToTemplateHookFunc ¶
func StringToTemplateHookFunc() mapstructure.DecodeHookFunc
StringToTemplateHookFunc returns a mapstructure.DecodeHookFunc which parses a template.Template from a string
Types ¶
type Config ¶
type Config struct {
LogLevel log.Level `mapstructure:"log_level"`
Timeouts struct {
Startup time.Duration
Shutdown time.Duration
}
IAM struct {
URL string
Token string
TokenFile string `mapstructure:"token_file"`
AllowInsecure bool `mapstructure:"allow_insecure"`
}
LXD struct {
URL string
TLS struct {
// Set CA if using PKI mode
CA string
CAFile string `mapstructure:"ca_file"`
// Set server certificate if not using PKI
ServerCert string `mapstructure:"server_cert"`
ServerCertFile string `mapstructure:"server_cert_file"`
ClientCert string `mapstructure:"client_cert"`
ClientCertFile string `mapstructure:"client_cert_file"`
ClientKey string `mapstructure:"client_key"`
ClientKeyFile string `mapstructure:"client_key_file"`
TrustPassword string `mapstructure:"trust_password"`
TrustPasswordFile string `mapstructure:"trust_password_file"`
AllowInsecure bool `mapstructure:"allow_insecure"`
}
}
Webspaces struct {
LXDProfile string `mapstructure:"lxd_profile"`
InstancePrefix string `mapstructure:"instance_prefix"`
Domain string `mapstructure:"domain"`
ConfigDefaults WebspaceConfig `mapstructure:"config_defaults"`
MaxStartupDelay uint16 `mapstructure:"max_startup_delay"`
IPTimeout time.Duration `mapstructure:"ip_timeout"`
Ports struct {
Start uint16
End uint16
Max uint16
KubernetesService string `mapstructure:"kubernetes_service"`
}
}
HTTP struct {
ListenAddress string `mapstructure:"listen_address"`
CORS struct {
AllowedOrigins []string `mapstructure:"allowed_origins"`
}
}
Traefik struct {
Provider string
Redis struct {
Addr string
DB int
CertResolver string `mapstructure:"cert_resolver"`
}
Kubernetes struct {
Namespace string
DefaultSecret string `mapstructure:"default_secret"`
ClusterIssuer string `mapstructure:"cluster_issuer"`
}
HTTPSEntryPoint string `mapstructure:"https_entrypoint"`
DefaultSANs []string `mapstructure:"default_sans"`
WebspacedURL string `mapstructure:"webspaced_url"`
IAMToken string `mapstructure:"iam_token"`
IAMTokenFile string `mapstructure:"iam_token_file"`
}
}
Config describes the configuration for Server
func (*Config) ReadSecrets ¶
ReadSecrets loads values for secret config options from files
type WebspaceConfig ¶
type WebspaceConfig struct {
StartupDelay float64 `json:"startupDelay" mapstructure:"startup_delay"`
HTTPPort uint16 `json:"httpPort" mapstructure:"http_port"`
SNIPassthrough bool `json:"sniPassthrough" mapstructure:"sni_passthrough"`
}
WebspaceConfig describes a webspace's basic key = value configuration
Click to show internal directories.
Click to hide internal directories.