OperatorConfig
config.airlock.com/v1alpha1
OperatorConfig is the schema for the Airlock Microgateway Operator configuration file
# Example Operator configuration
apiVersion: config.airlock.com/v1alpha1
kind: OperatorConfig
log:
level: info
health:
healthProbeBindAddress: :8081
metrics:
bindAddress: 0.0.0.0:8080
webhook:
port: 9443
pprof:
bindAddress: localhost:6060
# Extensions: Airlock Microgateway Operator
deployment:
sidecar:
engineContainerTemplate: "/sidecar/engine_container_template.yaml"
engine:
bootstrapConfigTemplate: "/engine_bootstrap_config_template.yaml"
apiVersion: config.airlock.com/v1alpha1
kind: OperatorConfig
metrics:
bindAddress: "0.0.0.0:8080"
health:
healthProbeBindAddress: ":8081"
readinessEndpointName: "/readyz"
livenessEndpointName: "/healthz"
webhook:
port: 9443
deployment:
sidecar:
engineContainerTemplate: "/sidecar/engine_container_template.yaml"
engine:
bootstrapConfigTemplate: "/engine_bootstrap_config_template.yaml"
xdsServer:
port: 13377
grpcSettings:
maxConcurrentStreams: 4294967295
keepaliveTime: "2h"
keepaliveTimeout: "20s"
keepaliveClientMinTime: "5m"
log:
level: info
licensing:
throughputCheckTimeout: "50ms"
OperatorConfig
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
deployment | object | Deployment defines the configuration for the deployment strategy. | no | ||
engine | object | Engine defines the configuration for the engine container. | no | ||
health | object | Health contains the health configuration of the operator. | no | ||
licensing | object | Licensing defines the licensing options of the operator and engine. | no | ||
log | object | Log defines the log configuration of the operator. | no | ||
metrics | object | Metrics contains the metrics configuration of the operator. | no | ||
pprof | object | Pprof defines an optional pprof server with its binding address, if omitted no pprof server is started. | no | ||
webhook | object | Webhook contains the webhook configuration of the operator. | no | ||
xdsServer | object | XdsServer defines the configuration for the xDS server which communicates with the Airlock Microgateway Engine. | no |
OperatorConfig.deployment
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
sidecar | object | Sidecar defines the configuration for the sidecar deployment. | no |
OperatorConfig.deployment.sidecar
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
engineContainerTemplate |
string | Defines the container which will be injected as sidecar. Can be useful to adjust the image, imagePullPolicy, capabilities or other settings. For more information please visit the official Kubernetes documentation website. | no | /sidecar/engine_container_template.yaml |
OperatorConfig.engine
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
bootstrapConfigTemplate |
string | Defines the Envoy bootstrap configuration. For more information, please visit the official Envoy documentation website. | no | /engine_bootstrap_config_template.yaml |
OperatorConfig.health
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
healthProbeBindAddress |
string | HealthProbeBindAddress is the TCP address that the operator should bind to for serving health probes. It can be set to “0” to disable serving the health probe. | no | :8081 |
|
livenessEndpointName |
string | LivenessEndpointName is the path under which the liveness probe is served. | no | /healthz |
|
readinessEndpointName |
string | ReadinessEndpointName is the path under which the readiness probe is served. | no | /readyz |
OperatorConfig.licensing
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
throughputCheckTimeout |
string (duration) | ThroughputCheckTimeout specifies the timeout for the license ratelimit RPCs. If the license guard does not respond within this window, the request will be blocked unless enforceThroughputLimit is disabled. | no | 50ms |
See link |
OperatorConfig.log
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
level |
enum | Level defines the log level of the operator. | no | info |
error , warn , info , debug |
OperatorConfig.metrics
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
bindAddress |
string | BindAddress is the TCP address that the operator should bind to for serving prometheus metrics. It can be set to “0” to disable the metrics serving. | no | 0.0.0.0:8080 |
OperatorConfig.pprof
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
bindAddress |
string | BindAddress defines the TCP address that the operator should bind to for serving pprof. Since pprof may contain sensitive information, it is recommended to bind it to localhost only. | yes |
OperatorConfig.webhook
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
port |
int | Port is the port on which the webhook server is served. | no | 9443 |
[1, 65535] |
OperatorConfig.xdsServer
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
grpcSettings | object | Defines the gRPC Settings which are used by the xDS Server for the gRPC connections with the Airlock Microgateway Engine containers. | no | ||
port |
int32 | Defines the port where the xDS server is listening. | no | 13377 |
[1, 65535] |
OperatorConfig.xdsServer.grpcSettings
Field | Type | Description | Required | Default | Allowed Values |
---|---|---|---|---|---|
keepaliveClientMinTime |
string (duration) | Defines the minimum amount of time an Airlock Microgateway Engine (xDS client) should wait before sending a keepalive ping. The Airlock Microgateway Operator (xDS server) will close connection with a client that violates this policy. | no | 5m |
See link |
keepaliveTime |
string (duration) | Defines the keep alive time. After this time without any activity from Airlock Microgateway Engine container a ping is sent to see if the transport is still alive. If set below 1s, a minimum value of 1s will be used instead. | no | 2h |
See link |
keepaliveTimeout |
string (duration) | Defines the keep alive timeout. Time to wait after keepalive check before closing the connection in case that there was no activity. | no | 20s |
See link |
maxConcurrentStreams |
uint32 | Defines the limit of max concurrent gRPC streams. | no | 4294967295 |
[0, 4294967295] |