Static configuration

Static configuration

Most agentgateway configurations dynamically update as you make changes to the binds, policies, backends, and so on.

However, a few configurations are staticly configured at startup. These static configurations are under the config section.

Static configuration file schema

The following table shows the config file schema for static configurations at startup. For the full agentgateway schema of dynamic and static configuration, see the reference docs.

Field Description
config
config.enableIpv6
config.localXdsPath Local XDS path. If not specified, the current configuration file will be used.
config.caAddress
config.caAuthToken
config.xdsAddress
config.xdsAuthToken
config.namespace
config.gateway
config.trustDomain
config.serviceAccount
config.clusterId
config.network
config.adminAddr Admin UI address in the format “ip:port”
config.statsAddr Stats/metrics server address in the format “ip:port”
config.readinessAddr Readiness probe server address in the format “ip:port”
config.session Configuration for stateful session management
config.session.key The signing key to be used. If not set, sessions will not be encrypted.
For example, generated via openssl rand -hex 32.
config.connectionTerminationDeadline
config.connectionMinTerminationDeadline
config.workerThreads
config.tracing
config.tracing.otlpEndpoint
config.tracing.headers
config.tracing.otlpProtocol
config.tracing.fields
config.tracing.fields.remove
config.tracing.fields.add
config.tracing.randomSampling Expression to determine the amount of random sampling.
Random sampling will initiate a new trace span if the incoming request does not have a trace already.
This should evaluate to either a float between 0.0-1.0 (0-100%) or true/false.
This defaults to ‘false’.
config.tracing.clientSampling Expression to determine the amount of client sampling.
Client sampling determines whether to initiate a new trace span if the incoming request does have a trace already.
This should evaluate to either a float between 0.0-1.0 (0-100%) or true/false.
This defaults to ’true'.
config.tracing.path OTLP path. Default is /v1/traces
config.logging
config.logging.filter
config.logging.fields
config.logging.fields.remove
config.logging.fields.add
config.logging.level
config.logging.format
config.metrics
config.metrics.remove
config.metrics.fields
config.metrics.fields.add
config.backend
config.backend.keepalives
config.backend.keepalives.enabled
config.backend.keepalives.time
config.backend.keepalives.interval
config.backend.keepalives.retries
config.backend.connectTimeout
config.backend.poolIdleTimeout The maximum duration to keep an idle connection alive.
config.backend.poolMaxSize The maximum number of connections allowed in the pool, per hostname. If set, this will limit
the total number of connections kept alive to any given host.
Note: excess connections will still be created, they will just not remain idle.
If unset, there is no limit
config.hbone
config.hbone.windowSize
config.hbone.connectionWindowSize
config.hbone.frameSize
config.hbone.poolMaxStreamsPerConn
config.hbone.poolUnusedReleaseTimeout