package models type InitialUserConfig struct { Email string `yaml:"email"` } type EmailConfig struct { FromEmail string `yaml:"from_email"` Username string `yaml:"username"` Password string `yaml:"password"` Server string `yaml:"server"` } type SigningConfig struct { Key string `yaml:"key"` Algorithm string `yaml:"algorithm"` } type MongoDBConfig struct { Url string `yaml:"url"` Username string `yaml:"username"` Password string `yaml:"password"` Database string `yaml:"database"` Collection string `yaml:"collection"` } type OidcAuthConfig struct { IssuerUrl string `yaml:"issuer_url"` ClientId string `yaml:"client_id"` ClientSecret string `yaml:"client_secret"` } type InviteTokenDatabaseConfig struct { Type DatabaseType `yaml:"type"` Mongo *MongoDBConfig `yaml:"mongo"` } type UserPassAuthConfig struct { Type DatabaseType `yaml:"type"` Mongo *MongoDBConfig `yaml:"mongo"` InviteTokenDatabase InviteTokenDatabaseConfig `yaml:"invite_token_database"` InitialUser *InitialUserConfig `yaml:"initial_user"` } type AuthenticationConfig struct { Type AuthMode `yaml:"type"` NOidc OidcAuthConfig `yaml:"oidc"` UserPass UserPassAuthConfig `yaml:"user_pass"` } type DockerReverseProxyConfig struct { Middlewares []string `yaml:"middlewares"` Entrypoint string `yaml:"entrypoint"` Tls bool `yaml:"tls"` TlsResolver string `yaml:"tls_resolver"` } type FileBrowserConfig struct { Image Image `yaml:"image"` Command string `yaml:"command"` Network string `yaml:"network"` ReverseProxy DockerReverseProxyConfig `yaml:"reverse_proxy"` } type DockerInstanceManagerConfig struct { FileBrowser FileBrowserConfig `yaml:"file_browser"` } type KubernetesInstanceManagerConfig struct { Namespace string `yaml:"namespace"` } type InstanceManagerConfig struct { Type InstanceManagerType `yaml:"type"` Docker *DockerInstanceManagerConfig `yaml:"docker"` Kubernetes *KubernetesInstanceManagerConfig `yaml:"kubernetes"` } type ServersDatabaseConfig struct { Type DatabaseType `yaml:"type"` Mongo *MongoDBConfig `yaml:"mongo"` } type ServersAuthorizationDatabaseConfig struct { Type DatabaseType `yaml:"type"` Mongo *MongoDBConfig `yaml:"mongo"` } type UsersConfig struct { DefaultMaxOwnedServers uint `yaml:"default_max_owned_servers"` } type GlobalConfig struct { // Features Configs Email EmailConfig `yaml:"email"` Domain string `yaml:"domain"` Signing SigningConfig `yaml:"signing"` Authentication AuthenticationConfig `yaml:"authentication"` InstanceManager InstanceManagerConfig `yaml:"instancemanager"` Users UsersConfig `yaml:"users"` // Database Configs ServersDatabase ServersDatabaseConfig `yaml:"servers_database"` ServersAuthorizationDatabase ServersAuthorizationDatabaseConfig `yaml:"servers_authorization_database"` }