Skip to content

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

Page as Markdown

Static configuration

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

However, a few configurations are statically 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.

FieldTypeDescription
configobject
config.enableIpv6boolean
config.dnsobjectDNS resolver settings.
config.dns.lookupFamilyenumControls which IP address families the DNS resolver will query for
upstream connections.
Accepted values: All, Auto, V4Preferred, V4Only, V6Only.
Defaults to Auto (IPv4-only when enableIpv6 is false, both when true).
config.dns.edns0booleanWhether to enable EDNS0 (Extension Mechanisms for DNS) in the resolver.
When None, the system-provided resolver setting is preserved.
Can also be set via the DNS_EDNS0 environment variable.
config.localXdsPathstringLocal XDS path. If not specified, the current configuration file will be used.
config.caAddressstring
config.caAuthTokenstring
config.xdsAddressstring
config.xdsAuthTokenstring
config.namespacestring
config.gatewaystring
config.trustDomainstring
config.additionalTrustDomainsstringComma-separated list of additional SPIFFE trust domains accepted on inbound HBONE
connections. The local trust_domain is always implicitly included.
config.skipValidateTrustDomainbooleanWhen true, skip SPIFFE trust-domain verification on inbound HBONE connections.
config.serviceAccountstring
config.clusterIdstring
config.networkstring
config.adminAddrstringAdmin UI address in the format “ip:port”
config.statsAddrstringStats/metrics server address in the format “ip:port”
config.readinessAddrstringReadiness probe server address in the format “ip:port”
config.sessionobjectConfiguration for stateful session management
config.session.keystringThe AES-256-GCM session protection key to be used for session tokens.
If not set, sessions will not be encrypted.
For example, generated via openssl rand -hex 32.
`config`configconfig.connectionTerminationDeadline
config.connectionMinTerminationDeadlinestring
config.workerThreadsstring
config.tracingobject
config.tracing.otlpEndpointstring
config.tracing.headersobject
config.tracing.otlpProtocolenumPossible values: grpc, http.
config.tracing.fieldsobject
config.tracing.fields.remove[]string
config.tracing.fields.addobject
config.tracing.randomSamplingstringExpression 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.clientSamplingstringExpression 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.pathstringOTLP path. Default is /v1/traces
config.loggingobject
config.logging.filterstring
config.logging.fieldsobject
config.logging.fields.remove[]string
config.logging.fields.addobject
config.logging.levelstring
config.logging.formatenumPossible values: text, json, null.
config.metricsobject
config.metrics.remove[]string
config.metrics.fieldsobject
config.metrics.fields.addobject
config.backendobject
config.backend.keepalivesobject
config.backend.keepalives.enabledboolean
config.backend.keepalives.timestring
config.backend.keepalives.intervalstring
config.backend.keepalives.retriesinteger
config.backend.connectTimeoutstring
config.backend.poolIdleTimeoutstringThe maximum duration to keep an idle connection alive.
config.backend.poolMaxSizeintegerThe 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.hboneobject
config.hbone.windowSizeinteger
config.hbone.connectionWindowSizeinteger
config.hbone.frameSizeinteger
config.hbone.poolMaxStreamsPerConninteger
config.hbone.poolUnusedReleaseTimeoutstring
Was this page helpful?
Agentgateway assistant

Ask me anything about agentgateway configuration, features, or usage.

Note: AI-generated content might contain errors; please verify and test all returned information.

Tip: one topic per conversation gives the best results. Use the + button in the chat header to start a new conversation.

Switching topics? Starting a new conversation improves accuracy.
↑↓ navigate select esc dismiss

What could be improved?

Your feedback helps us improve assistant answers and identify docs gaps we should fix.

Need more help? Join us on Discord: https://discord.gg/y9efgEmppm

Want to use your own agent? Add the Solo MCP server to query our docs directly. Get started here: https://search.solo.io/.