Admin Interface
Exposes separate admin API and health/metrics listeners
Category: Practical
Task: Exposes separate admin API and health/metrics listeners
Prerequisites: The product runtime and any backend services referenced by this configuration.
This configuration comes from the selected release. The example has not been run here; external services are not bundled.
Download the source file.
# Admin Interface
#
# Exposes separate admin API and health/metrics listeners. The
# health/metrics listener serves:
#
# GET /healthy liveness probe (always 200)
# GET /ready readiness probe (checks upstream clusters)
# GET /metrics Prometheus text exposition format
#
# With `verbose: true`, the /ready response includes
# per-cluster health detail in the body.
#
# Usage:
# cargo run -p praxis-proxy -- -c examples/configs/operations/admin-interface.yaml
# curl http://localhost:9902/healthy # liveness
# curl http://localhost:9902/ready # readiness (verbose)
# curl http://localhost:9902/metrics # prometheus scrape
#
# Per-filter duration metrics require metrics.filter_duration: true.
admin:
address: "127.0.0.1:9901"
metrics_address: "127.0.0.1:9902"
verbose: true
metrics:
filter_duration: true
listeners:
- name: default
address: "127.0.0.1:8080"
filter_chains:
- main
filter_chains:
- name: main
filters:
- filter: router
routes:
- path_prefix: "/"
cluster: backend
- filter: load_balancer
clusters:
- name: backend
endpoints:
- "127.0.0.1:3000"
insecure_options:
allow_private_endpoints: true # example proxies to local backends