Documentation
¶
Index ¶
Constants ¶
View Source
const LOAD_BALANCE_LC string = "least-connection"
View Source
const LOAD_BALANCE_RR string = "round-robin"
Variables ¶
View Source
var LoadBalancingStrategies = []string{LOAD_BALANCE_RR, LOAD_BALANCE_LC}
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Status StatusConfig `yaml:"status"`
Nats []NatsConfig `yaml:"nats"`
Logging LoggingConfig `yaml:"logging"`
Port uint16 `yaml:"port"`
Index uint `yaml:"index"`
Zone string `yaml:"zone"`
GoMaxProcs int `yaml:"go_max_procs,omitempty"`
Tracing Tracing `yaml:"tracing"`
TraceKey string `yaml:"trace_key"`
AccessLog AccessLog `yaml:"access_log"`
EnableAccessLogStreaming bool `yaml:"enable_access_log_streaming"`
DebugAddr string `yaml:"debug_addr"`
EnablePROXY bool `yaml:"enable_proxy"`
EnableSSL bool `yaml:"enable_ssl"`
SSLPort uint16 `yaml:"ssl_port"`
SSLCertPath string `yaml:"ssl_cert_path"`
SSLKeyPath string `yaml:"ssl_key_path"`
SSLCertificate tls.Certificate
SkipSSLValidation bool `yaml:"skip_ssl_validation"`
ForceForwardedProtoHttps bool `yaml:"force_forwarded_proto_https"`
CipherString string `yaml:"cipher_suites"`
CipherSuites []uint16
LoadBalancerHealthyThreshold time.Duration `yaml:"load_balancer_healthy_threshold"`
PublishStartMessageInterval time.Duration `yaml:"publish_start_message_interval"`
PruneStaleDropletsInterval time.Duration `yaml:"prune_stale_droplets_interval"`
DropletStaleThreshold time.Duration `yaml:"droplet_stale_threshold"`
PublishActiveAppsInterval time.Duration `yaml:"publish_active_apps_interval"`
StartResponseDelayInterval time.Duration `yaml:"start_response_delay_interval"`
EndpointTimeout time.Duration `yaml:"endpoint_timeout"`
RouteServiceTimeout time.Duration `yaml:"route_services_timeout"`
DrainWait time.Duration `yaml:"drain_wait,omitempty"`
DrainTimeout time.Duration `yaml:"drain_timeout,omitempty"`
SecureCookies bool `yaml:"secure_cookies"`
HealthCheckUserAgent string `yaml:"healthcheck_user_agent,omitempty"`
OAuth OAuthConfig `yaml:"oauth"`
RoutingApi RoutingApiConfig `yaml:"routing_api"`
RouteServiceSecret string `yaml:"route_services_secret"`
RouteServiceSecretPrev string `yaml:"route_services_secret_decrypt_only"`
RouteServiceRecommendHttps bool `yaml:"route_services_recommend_https"`
// These fields are populated by the `Process` function.
Ip string `yaml:"-"`
RouteServiceEnabled bool `yaml:"-"`
NatsClientPingInterval time.Duration `yaml:"-"`
ExtraHeadersToLog []string `yaml:"extra_headers_to_log"`
TokenFetcherMaxRetries uint32 `yaml:"token_fetcher_max_retries"`
TokenFetcherRetryInterval time.Duration `yaml:"token_fetcher_retry_interval"`
TokenFetcherExpirationBufferTimeInSeconds int64 `yaml:"token_fetcher_expiration_buffer_time"`
PidFile string `yaml:"pid_file"`
LoadBalance string `yaml:"balancing_algorithm"`
}
func DefaultConfig ¶
func DefaultConfig() *Config
func InitConfigFromFile ¶
func (*Config) Initialize ¶
func (*Config) NatsServers ¶
func (*Config) RoutingApiEnabled ¶
type LoggingConfig ¶
type NatsConfig ¶
type OAuthConfig ¶
type RoutingApiConfig ¶
type StatusConfig ¶
Click to show internal directories.
Click to hide internal directories.