Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetEnv ¶ added in v1.16.0
GetEnv fetches a list of known env variables for this extension. It is to be used by gookit, as it provides a list with all the environment variables an extension supports.
func StructMappings ¶ added in v1.16.0
func StructMappings(cfg *Config) []shared.EnvBinding
StructMappings binds a set of environment variables to a destination on cfg. Iterating over this set and editing the Destination value of a binding will alter the original value, as it is a pointer to its memory address. This lets us propagate changes easier.
Types ¶
type Asset ¶
type Asset struct {
Path string `ocisConfig:"path"`
}
Asset defines the available asset configuration.
type Config ¶
type Config struct { *shared.Commons File string `ocisConfig:"file"` Log *shared.Log `ocisConfig:"log"` Debug Debug `ocisConfig:"debug"` HTTP HTTP `ocisConfig:"http"` Tracing Tracing `ocisConfig:"tracing"` Asset Asset `ocisConfig:"asset"` Web Web `ocisConfig:"web"` Context context.Context Supervised bool }
Config combines all available configuration parts.
func DefaultConfig ¶ added in v1.16.0
func DefaultConfig() *Config
type Debug ¶
type Debug struct { Addr string `ocisConfig:"addr"` Token string `ocisConfig:"token"` Pprof bool `ocisConfig:"pprof"` Zpages bool `ocisConfig:"zpages"` }
Debug defines the available debug configuration.
type ExternalApp ¶
type ExternalApp struct { ID string `json:"id,omitempty" ocisConfig:"id"` Path string `json:"path,omitempty" ocisConfig:"path"` // Config is completely dynamic, because it depends on the extension Config map[string]interface{} `json:"config,omitempty" ocisConfig:"config"` }
ExternalApp defines an external web app.
{ "name": "hello", "path": "http://localhost:9105/hello.js", "config": { "url": "http://localhost:9105" } }
type ExternalAppConfig ¶
type ExternalAppConfig struct {
URL string `json:"url,omitempty" ocisConfig:"url"`
}
ExternalAppConfig defines an external web app configuration.
type HTTP ¶
type HTTP struct { Addr string `ocisConfig:"addr"` Root string `ocisConfig:"root"` Namespace string `ocisConfig:"namespace"` CacheTTL int `ocisConfig:"cache_ttl"` }
HTTP defines the available http configuration.
type OIDC ¶
type OIDC struct { MetadataURL string `json:"metadata_url,omitempty" ocisConfig:"metadata_url"` Authority string `json:"authority,omitempty" ocisConfig:"authority"` ClientID string `json:"client_id,omitempty" ocisConfig:"client_id"` ResponseType string `json:"response_type,omitempty" ocisConfig:"response_type"` Scope string `json:"scope,omitempty" ocisConfig:"scope"` }
OIDC defines the available oidc configuration
type Tracing ¶
type Tracing struct { Enabled bool `ocisConfig:"enabled"` Type string `ocisConfig:"type"` Endpoint string `ocisConfig:"endpoint"` Collector string `ocisConfig:"collector"` Service string `ocisConfig:"service"` }
Tracing defines the available tracing configuration.
type Web ¶
type Web struct { Path string `ocisConfig:"path"` ThemeServer string `ocisConfig:"theme_server"` // used to build Theme in WebConfig ThemePath string `ocisConfig:"theme_path"` // used to build Theme in WebConfig Config WebConfig `ocisConfig:"config"` }
Web defines the available web configuration.
type WebConfig ¶
type WebConfig struct { Server string `json:"server,omitempty" ocisConfig:"server"` Theme string `json:"theme,omitempty" ocisConfig:"theme"` Version string `json:"version,omitempty" ocisConfig:"version"` OpenIDConnect OIDC `json:"openIdConnect,omitempty" ocisConfig:"oids"` Apps []string `json:"apps" ocisConfig:"apps"` ExternalApps []ExternalApp `json:"external_apps,omitempty" ocisConfig:"external_apps"` Options map[string]interface{} `json:"options,omitempty" ocisConfig:"options"` }
WebConfig defines the available web configuration for a dynamically rendered config.json.