Skip to main content
Static configuration lives under the top-level config key in your YAML or JSON file. These fields are read exactly once when the process starts. Changing them requires a restart — they are not dynamically reloaded.
config:
  adminAddr: "0.0.0.0:15000"
  statsAddr: "0.0.0.0:15020"
  readinessAddr: "0.0.0.0:15021"
  workerThreads: 4
  logging:
    level: info
    format: json
  tracing:
    otlpEndpoint: http://otel-collector:4317
    randomSampling: "0.1"
  dns:
    lookupFamily: Auto

Top-level fields

config.adminAddr
string
Address for the admin UI server in ip:port format. The admin interface exposes runtime diagnostics and configuration inspection.Example: "0.0.0.0:15000"
config.statsAddr
string
Address for the stats and metrics server in ip:port format. Exposes Prometheus-compatible metrics.Example: "0.0.0.0:15020"
config.readinessAddr
string
Address for the readiness probe server in ip:port format. Returns HTTP 200 when the gateway is ready to serve traffic.Example: "0.0.0.0:15021"
config.workerThreads
number
Number of worker threads for handling requests. Defaults to the number of logical CPUs when not set.
config.enableIpv6
boolean
Enable IPv6 support. When true, the DNS resolver defaults to querying both IPv4 and IPv6 address families. See also config.dns.lookupFamily.
config.localXdsPath
string
Override the path used for local XDS configuration. When not set, the current configuration file is used as the local XDS source.
config.connectionTerminationDeadline
string
Maximum time to wait for in-flight connections to finish draining on shutdown.
config.connectionMinTerminationDeadline
string
Minimum time to wait before forcing connection termination during shutdown.

DNS settings

config.dns
object
DNS resolver configuration.

Session management

config.session
object
Configuration for stateful session management.

Logging

config.logging
object
Controls log output format, verbosity, and field customization.
Example:
config:
  logging:
    level: debug
    format: json
    filter: "agentgateway=debug,tower=info"
    fields:
      add:
        environment: production
        region: us-east-1
      remove:
        - thread_id

Tracing

Agentgateway supports distributed tracing via OpenTelemetry. Configure the OTLP exporter and sampling behavior under config.tracing.
config.tracing
object
OpenTelemetry tracing configuration.
Example:
config:
  tracing:
    otlpEndpoint: http://otel-collector:4317
    otlpProtocol: grpc
    randomSampling: "0.1"
    clientSampling: "true"
    fields:
      add:
        deployment.environment: production

Metrics

config.metrics
object
Prometheus metrics configuration.

Backend connection pooling

These settings control how the gateway manages TCP connections to upstream backends.
config.backend
object
Global backend connection settings.
Example:
config:
  backend:
    connectTimeout: 10s
    poolIdleTimeout: 90s
    poolMaxSize: 100
    keepalives:
      enabled: true
      time: 30s
      interval: 5s
      retries: 3

HBONE settings

HBONE (HTTP-Based Overlay Network Encapsulation) is used for encrypted tunneling between proxies.
config.hbone
object
HBONE HTTP/2 tunnel settings.

XDS control plane connection

Connect Agentgateway to a remote XDS control plane for centralized dynamic configuration.
config.xdsAddress
string
Address of the XDS control plane server.Example: "grpc://xds-server:15010"
config.xdsAuthToken
string
Authentication token sent to the XDS server.
config.caAddress
string
Address of the certificate authority (CA) server for mTLS certificate issuance.
config.caAuthToken
string
Authentication token for the CA server.
config.namespace
string
Kubernetes namespace the gateway is running in. Used by the XDS and CA integrations.
config.serviceAccount
string
Kubernetes service account name. Used for identity in XDS and CA requests.
config.trustDomain
string
SPIFFE trust domain for workload identity.
config.clusterId
string
Cluster identifier reported to the XDS control plane.
config.network
string
Network identifier reported to the XDS control plane.
config.gateway
string
Gateway name reported to the XDS control plane.
Example — connecting to an XDS control plane:
config:
  xdsAddress: grpc://xds-server:15010
  xdsAuthToken: my-secret-token
  caAddress: grpc://istiod:15012
  namespace: default
  serviceAccount: agentgateway
  trustDomain: cluster.local
  clusterId: my-cluster