Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { HTTP struct { ForwardPrefix string `yaml:"forwardPrefix" env:"RESTQL_FORWARD_PREFIX"` QueryResourceTimeout time.Duration `env:"RESTQL_QUERY_RESOURCE_TIMEOUT" envDefault:"5s"` GlobalQueryTimeout time.Duration `env:"RESTQL_QUERY_GLOBAL_TIMEOUT" envDefault:"30s"` Server struct { APIAddr string `env:"RESTQL_PORT,required"` APIHealthAddr string `env:"RESTQL_HEALTH_PORT,required"` PropfAddr string `env:"RESTQL_PPROF_PORT"` EnablePprof bool `env:"RESTQL_ENABLE_PPROF"` EnableFullPprof bool `env:"RESTQL_ENABLE_FULL_PPROF"` Admin struct { Enable bool `yaml:"enable" env:"RESTQL_ADMIN_ENABLE"` AuthorizationCode string `yaml:"authorizationCode" env:"RESTQL_ADMIN_AUTHORIZATION_CODE"` } `yaml:"admin"` GracefulShutdownTimeout time.Duration `yaml:"gracefulShutdownTimeout"` ReadTimeout time.Duration `yaml:"readTimeout"` IdleTimeout time.Duration `yaml:"idleTimeout"` Middlewares struct { RequestID requestIDConf `yaml:"requestId"` Timeout timeoutConf `yaml:"timeout"` Cors corsConf `yaml:"cors"` RequestCancellation requestCancellationConf `yaml:"requestCancellation"` TenantByHost tenantByHostConf `yaml:"tenantByHost"` } `yaml:"middlewares"` } `yaml:"server"` Client struct { MaxConcurrentQueries int `yaml:"maxConcurrentQueries" env:"RESTQL_MAX_CONCURRENT_QUERIES"` MaxConcurrentGoroutines int `yaml:"maxConcurrentGoroutines" env:"RESTQL_MAX_CONCURRENT_GOROUTINES"` DnsRefreshInterval time.Duration `yaml:"dnsRefreshInterval"` ConnTimeout time.Duration `yaml:"connectionTimeout"` MaxRequestTimeout time.Duration `yaml:"maxRequestTimeout"` MaxConnsPerHost int `yaml:"maxConnectionsPerHost"` MaxIdleConns int `yaml:"maxIdleConnections"` MaxIdleConnsPerHost int `yaml:"maxIdleConnectionsPerHost"` MaxIdleConnDuration time.Duration `yaml:"maxIdleConnectionDuration"` } `yaml:"client"` } `yaml:"http"` Debugging struct { QueryParam bool `yaml:"queryParam" env:"RESTQL_DEBUGGING_QUERY_PARAM"` Header bool `yaml:"header" env:"RESTQL_DEBUGGING_HEADER"` } `yaml:"debugging"` Logging struct { Enable bool `yaml:"enable" env:"RESTQL_LOGGING_ENABLE"` TimestampFieldName string `yaml:"timestampFieldName"` TimestampFieldFormat string `yaml:"timestampFieldFormat"` Level string `yaml:"level" env:"RESTQL_LOGGING_LEVEL"` Format string `yaml:"format"` } `yaml:"logging"` Cache struct { Disable bool `yaml:"disable" env:"RESTQL_CACHE_DISABLE"` Mappings struct { MaxSize int `yaml:"maxSize" env:"RESTQL_CACHE_MAPPINGS_MAX_SIZE"` Expiration time.Duration `yaml:"expiration" env:"RESTQL_CACHE_MAPPINGS_EXPIRATION"` RefreshInterval time.Duration `yaml:"refreshInterval" env:"RESTQL_CACHE_MAPPINGS_REFRESH_INTERVAL"` RefreshQueueLength int `yaml:"refreshQueueLength" env:"RESTQL_CACHE_MAPPINGS_REFRESH_QUEUE_LENGTH"` } `yaml:"mappings"` Query struct { MaxSize int `yaml:"maxSize" env:"RESTQL_CACHE_QUERY_MAX_SIZE"` } `yaml:"query"` Parser struct { MaxSize int `yaml:"maxSize" env:"RESTQL_CACHE_PARSER_MAX_SIZE"` } `yaml:"parser"` } `yaml:"cache"` Plugins struct { DisableDatabase bool `yaml:"disableDatabase" env:"RESTQL_PLUGINS_DATABASE_DISABLE"` } `yaml:"plugins"` Tenant string `env:"RESTQL_TENANT"` TenantMappings map[string]map[string]string `yaml:"tenants"` Queries map[string]map[string][]string `yaml:"queries"` Env EnvSource Build string }
Config represents all parameters allowed in restQL runtime.
Click to show internal directories.
Click to hide internal directories.