Skip to main content

Inspect agentgateway configuration

Inspect the runtime configuration that a standalone agentgateway instance has loaded.

Warning

This feature is experimental. Try it out, see how it helps, and provide us feedback in GitHub or Discord. But keep in mind that it is subject to change and not supported for production.

Inspect the runtime configuration that a standalone agentgateway instance loaded by using agctl proxy config.

About

agctl proxy config reads the agentgateway admin endpoint at /config_dump and renders the result as a structured table or as JSON or YAML. Use it to confirm what the proxy actually loaded, especially when a config change appears to apply but the proxy does not behave as expected.

For a standalone agentgateway instance, you provide the config dump as a file. agctl proxy config does not have a --local flag. Instead, capture the dump from the admin port and pass it to agctl proxy config all --file <path>.

agctl proxy config includes the following subcommands.

SubcommandWhat it returns
agctl proxy config allThe full runtime configuration: binds, listeners, routes, backends, workloads, services, and policies.
agctl proxy config backendsA table of backends and their endpoint health, request counts, and latency. Most useful in Kubernetes mode where xDS feeds the service list.

Before you begin

Capture the config dump

Save the agentgateway admin endpoint’s /config_dump output to a file.

curl -s http://127.0.0.1:15000/config_dump > /tmp/agw-dump.json

If you set a custom admin address in your config file, replace 127.0.0.1:15000 with the host and port that you configured.

Render the full configuration

Render the dump as YAML, which is easier to scan than JSON.

agctl proxy config all --file /tmp/agw-dump.json -o yaml

Example output (truncated):

backends:
- backend:
host:
name: default/default/bind/3000/listener0/default/httpbin/backend0
namespace: ""
target: 127.0.0.1:8000
binds:
- address: '[::]:3000'
key: bind/3000
listeners:
default/default/bind/3000/listener0:
gatewayName: default
gatewayNamespace: default
hostname: ""
key: default/default/bind/3000/listener0
listenerName: listener0
protocol: HTTP
routes:
default/default/bind/3000/listener0/default/httpbin:
backends:
- backend: /default/default/bind/3000/listener0/default/httpbin/backend0
weight: 1
key: default/default/bind/3000/listener0/default/httpbin
matches:
- path:
pathPrefix: /
name: httpbin
namespace: default
...

The output includes the agentgateway version, build info, and all loaded binds, listeners, routes, backends, and policies. Use it to confirm that your config file loaded as expected.

Use other output formats

agctl proxy config all accepts the -o flag with short (default), json, and yaml values. The short and json outputs both return the full pretty-printed configuration. Note that there is no compressed table view for the full configuration.

# Pretty-printed JSON
agctl proxy config all --file /tmp/agw-dump.json -o json

# YAML
agctl proxy config all --file /tmp/agw-dump.json -o yaml

Pipe the output to other tools

Pipe the JSON output through tools like jq to extract specific fields. The following examples assume that you are running the standalone agentgateway example with a single bind on port 3000.

# List route names
agctl proxy config all --file /tmp/agw-dump.json -o json | jq '.binds[].listeners[].routes[].name'

# Show only the backends
agctl proxy config all --file /tmp/agw-dump.json -o json | jq '.backends'