gw-08 — References
Envoy & xDS (the canon)
- Envoy docs — architecture overview (listeners, filter chains, clusters, endpoints), the HTTP connection manager, and the xDS configuration model. The best free data-plane explanation anywhere. https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/intro/arch_overview
- xDS protocol spec — the DiscoveryRequest/Response, ACK/NACK, nonce, ADS, and Delta xDS semantics. https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol
- xDS as a universal data-plane API — the cross-project effort to standardize xDS (gRPC also speaks xDS for proxyless LB). https://github.com/cncf/xds
Build a control plane
- envoyproxy/go-control-plane — the Go xDS server library used in
the steps; read the
cache.SnapshotCacheand the example server. https://github.com/envoyproxy/go-control-plane - Envoy "Dynamic configuration (control plane)" sandbox — a runnable example wiring Envoy to a go-control-plane server. https://www.envoyproxy.io/docs/envoy/latest/start/sandboxes/dynamic-configuration-control-plane
Production control planes to study
- Istio
istiod— the most-deployed Envoy control plane; read how it translates K8s + its CRDs into xDS. - Contour / Envoy Gateway — Gateway-API → Envoy control planes (gw-10). https://github.com/envoyproxy/gateway
- Netflix — Zero Configuration Service Mesh with On-Demand Cluster Discovery (the lazy/on-demand xDS direction). https://netflixtechblog.com/zero-configuration-service-mesh-with-on-demand-cluster-discovery-ac6483b52a51
Tooling
func-e/getenvoy— run Envoy locally without a container.envoy --config-yaml ... --log-level debug— watch xDS subscribe/ACK.curl localhost:9901/config_dump— Envoy admin: see the applied config (and/clusters,/stats,/server_info).
Cross-lab dependencies
- Upstream: gw-03 (the gateway model Envoy implements), gw-04 (EDS membership), gw-06 (resilience config), gw-07 (SDS), db-16…20 (consistency intuition for config propagation).
- Downstream: gw-09 (EndpointSlices as the EDS source), gw-10 (the operator as a control plane), gw-12 (staged config rollout).