Aegis controls Envoy via xDS (specifically using the ADS - Aggregated Discovery Service - protocol). You configure everything through the Aegis UI — no manual YAML editing required.
envoy.yaml) pointing it to Aegis.aegis:18000 (gRPC ADS).envoy.yaml)Envoy needs a static bootstrap file to know where to find the xDS server. The provided envoy/envoy.yaml configures:
aegis:18000 (using gRPC).home (must match NODE_ID env var in Aegis).9901 (internal or public as mapped in docker-compose).Do not add listeners or clusters to this bootstrap file. They should be managed entirely through the Aegis Gateway UI (and are stored in Aegis's database).
starter.json)The configs/starter.json is not read by Envoy. It is an export of the Aegis database structure. When imported via the Aegis UI, it configures:
http_listener (port 10080): Redirects all standard HTTP traffic to HTTPS, but routes /.well-known/acme-challenge to the acme-renewer cluster.https_listener (port 10443): Placeholder for your SSL traffic with SNI matching.acme-renewer cluster: Points to Aegis's built-in ACME challenge responder.my-service cluster: Placeholder for your actual backend application.Once imported, Aegis dynamically translates these into Envoy-native config and pushes them to Envoy over the xDS channel.
To make your gateway accept real public traffic from the internet, you must understand how ports are mapped between your host machine and the Envoy container.
Internet ──► Host Port 80 ──────(Docker Map)─────► Container Port 10080 (Envoy HTTP Listener) Internet ──► Host Port 443 ──────(Docker Map)─────► Container Port 10443 (Envoy HTTPS Listener)
docker-compose.yml, the envoy service exposes ports 80 and 443 on the host, mapping them to 10080 and 10443 inside the container respectively.
10080.10443.A or AAAA records to your host machine's public IP address. Traffic arriving at port 80/443 will automatically flow through Envoy.