Aegis controls Envoy via xDS (ADS protocol). You configure everything through the Aegis UI — no manual YAML editing required.
aegis:18000 (gRPC ADS)Envoy needs a static bootstrap file to know where to find the xDS server. The provided configs/starter.json configures:
aegis:18000home (must match NODE_ID env var in Aegis)Do not add listeners or clusters to the bootstrap file — manage them entirely through the Aegis Gateway UI.
A listener binds to a port and accepts connections. Typically:
Each listener can have multiple filter chains. A filter chain matches incoming connections (by SNI/domain) and routes them to a backend cluster. Each filter chain can have:
An upstream cluster defines where traffic goes. Types:
STATIC — fixed IP/hostname (resolved once at startup)LOGICAL_DNS — resolve hostname once and cacheSTRICT_DNS — resolve on every connectionTLS certificates stored in Envoy's Secret Discovery Service. Aegis manages these automatically when you issue certificates via the Certs page.
192.168.1.10:3000)app.example.com, cluster = your cluster, TLS = your certAdd one filter chain per domain to your HTTPS listener. Each filter chain has its own SNI match, backend cluster, and TLS secret.
Add a catch-all filter chain on the port-80 listener with a Lua HTTP filter that returns a 301 redirect.
Blocked IPs are automatically injected as Envoy RBAC deny rules on every xDS push. You do not need to configure this.
"xDS NACK" in the dashboard header means Envoy rejected the last config. The error message shows which resource failed. Fix the highlighted resource and save again.
Changes not applying — check that the xDS status is "synced" (green dot). If it shows "xDS …" (grey), Envoy is not connected — verify the NODE_ID env var matches the node ID in your bootstrap config.