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 |
|