Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Metrics ¶ added in v0.8.0
type Metrics struct { // Sets whether or not to enable the Prometheus metrics exporter OtelPrometheusExporterEnabled bool `envconfig:"KEDA_HTTP_OTEL_PROM_EXPORTER_ENABLED" default:"true"` // Sets the port which the Prometheus compatible metrics endpoint should be served on OtelPrometheusExporterPort int `envconfig:"KEDA_HTTP_OTEL_PROM_EXPORTER_PORT" default:"2223"` // Sets whether or not to enable the OTEL metrics exporter OtelHTTPExporterEnabled bool `envconfig:"KEDA_HTTP_OTEL_HTTP_EXPORTER_ENABLED" default:"false"` // Sets the HTTP endpoint where metrics should be sent to OtelHTTPCollectorEndpoint string `envconfig:"KEDA_HTTP_OTEL_HTTP_COLLECTOR_ENDPOINT" default:"localhost:4318"` // Sets the OTLP headers required by the otel exporter OtelHTTPHeaders string `envconfig:"KEDA_HTTP_OTEL_HTTP_HEADERS" default:""` // Set the connection to the otel HTTP collector endpoint to use HTTP rather than HTTPS OtelHTTPCollectorInsecure bool `envconfig:"KEDA_HTTP_OTEL_HTTP_COLLECTOR_INSECURE" default:"false"` // Set the interval in seconds to export otel metrics to the configured collector endpoint OtelMetricExportInterval int `envconfig:"KEDA_HTTP_OTEL_METRIC_EXPORT_INTERVAL" default:"30"` }
Metrics is the configuration for configuring metrics in the interceptor.
func MustParseMetrics ¶ added in v0.8.0
func MustParseMetrics() *Metrics
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 Serving ¶
type Serving struct { // CurrentNamespace is the namespace that the interceptor is // currently running in CurrentNamespace string `envconfig:"KEDA_HTTP_CURRENT_NAMESPACE" required:"true"` // WatchNamespace is the namespace to watch for new HTTPScaledObjects. // Leave this empty to watch HTTPScaledObjects in all namespaces. WatchNamespace string `envconfig:"KEDA_HTTP_WATCH_NAMESPACE" default:""` // 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"` // Deprecated: 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"` // The interceptor has an internal process that periodically fetches the state // of endpoints that is running the servers it forwards to. // // This is the interval (in milliseconds) representing how often to do a fetch EndpointsCachePollIntervalMS int `envconfig:"KEDA_HTTP_ENDPOINTS_CACHE_POLLING_INTERVAL_MS" default:"250"` // ProxyTLSEnabled is a flag to specify whether the interceptor proxy should // be running using a TLS enabled server ProxyTLSEnabled bool `envconfig:"KEDA_HTTP_PROXY_TLS_ENABLED" default:"false"` // TLSCertPath is the path to read the certificate file from for the TLS server TLSCertPath string `envconfig:"KEDA_HTTP_PROXY_TLS_CERT_PATH" default:"/certs/tls.crt"` // TLSKeyPath is the path to read the private key file from for the TLS server TLSKeyPath string `envconfig:"KEDA_HTTP_PROXY_TLS_KEY_PATH" default:"/certs/tls.key"` // TLSPort is the port that the server should serve on if TLS is enabled TLSPort int `envconfig:"KEDA_HTTP_PROXY_TLS_PORT" default:"8443"` }
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"` // WorkloadReplicas is how long to wait for the backing workload // to have 1 or more replicas before connecting and sending the HTTP request. WorkloadReplicas 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