Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Serving ¶
type Serving struct {
// CurrentNamespace is the namespace that the interceptor is
// currently running in
CurrentNamespace string `envconfig:"KEDA_HTTP_CURRENT_NAMESPACE" required:"true"`
// ProxyPort is the port that the public proxy should run on
ProxyPort int `envconfig:"KEDA_HTTP_PROXY_PORT" required:"true"`
// AdminPort is the port that the internal admin server should run on.
// This is the server that the external scaler will issue metrics
// requests to
AdminPort int `envconfig:"KEDA_HTTP_ADMIN_PORT" required:"true"`
// ConfigMapCacheRsyncPeriod is the time interval
// for the configmap informer to rsync the local cache.
ConfigMapCacheRsyncPeriod time.Duration `envconfig:"KEDA_HTTP_SCALER_CONFIG_MAP_INFORMER_RSYNC_PERIOD" default:"60m"`
// The interceptor has an internal process that periodically fetches the state
// of deployment that is running the servers it forwards to.
//
// This is the interval (in milliseconds) representing how often to do a fetch
DeploymentCachePollIntervalMS int `envconfig:"KEDA_HTTP_DEPLOYMENT_CACHE_POLLING_INTERVAL_MS" default:"250"`
}
Serving is configuration for how the interceptor serves the proxy and admin server
func MustParseServing ¶
func MustParseServing() *Serving
Parse parses standard configs using envconfig and returns a pointer to the newly created config. Returns nil and a non-nil error if parsing failed
type Timeouts ¶
type Timeouts struct {
// Connect is the connection timeout
Connect time.Duration `envconfig:"KEDA_HTTP_CONNECT_TIMEOUT" default:"500ms"`
// KeepAlive is the interval between keepalive probes
KeepAlive time.Duration `envconfig:"KEDA_HTTP_KEEP_ALIVE" default:"1s"`
// ResponseHeaderTimeout is how long to wait between when the HTTP request
// is sent to the backing app and when response headers need to arrive
ResponseHeader time.Duration `envconfig:"KEDA_RESPONSE_HEADER_TIMEOUT" default:"500ms"`
// DeploymentReplicas is how long to wait for the backing deployment
// to have 1 or more replicas before connecting and sending the HTTP request.
DeploymentReplicas time.Duration `envconfig:"KEDA_CONDITION_WAIT_TIMEOUT" default:"1500ms"`
// ForceHTTP2 toggles whether to try to force HTTP2 for all requests
ForceHTTP2 bool `envconfig:"KEDA_HTTP_FORCE_HTTP2" default:"false"`
// MaxIdleConns is the max number of connections that can be idle in the
// interceptor's internal connection pool
MaxIdleConns int `envconfig:"KEDA_HTTP_MAX_IDLE_CONNS" default:"100"`
// IdleConnTimeout is the timeout after which a connection in the interceptor's
// internal connection pool will be closed
IdleConnTimeout time.Duration `envconfig:"KEDA_HTTP_IDLE_CONN_TIMEOUT" default:"90s"`
// TLSHandshakeTimeout is the max amount of time the interceptor will
// wait to establish a TLS connection
TLSHandshakeTimeout time.Duration `envconfig:"KEDA_HTTP_TLS_HANDSHAKE_TIMEOUT" default:"10s"`
// ExpectContinueTimeout is the max amount of time the interceptor will wait
// after sending request headers if the server returned an Expect: 100-continue
// header
ExpectContinueTimeout time.Duration `envconfig:"KEDA_HTTP_EXPECT_CONTINUE_TIMEOUT" default:"1s"`
}
Timeouts is the configuration for connection and HTTP timeouts
func MustParseTimeouts ¶
func MustParseTimeouts() *Timeouts
Parse parses standard configs using envconfig and returns a pointer to the newly created config. Returns nil and a non-nil error if parsing failed
func (Timeouts) DefaultBackoff ¶
DefaultBackoff calls t.Backoff with reasonable defaults and returns the result
Click to show internal directories.
Click to hide internal directories.