How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

xDS

xDS is the family of discovery APIs that Envoy and other data planes use to receive their configuration dynamically. It defines Protobuf services for listeners, routes, clusters and endpoints so a control plane can reconfigure a proxy fleet at runtime without restarts.

xDS is the set of discovery APIs a control plane uses to configure a data plane at runtime. It grew out of Envoy and now lives partly in its own CNCF home at cncf/xds so that other proxies and meshes can speak it too. Where a traditional proxy reads a config file and restarts, an xDS client opens a stream and receives its listeners, routes, clusters and endpoints as Protobuf messages that can change under it while traffic flows.

  • LDS, RDS, CDS, EDS - Separate discovery services for listeners, routes, clusters and endpoints, so each concern can be pushed independently.
  • Protobuf all the way down - Every resource is a versioned Protobuf message, which makes the whole configuration surface machine-readable by definition.
  • Incremental and state-of-the-world variants - Both delta and full-snapshot delivery, because a fleet of ten proxies and a fleet of ten thousand have different needs.
  • Multiple implementations - Envoy, gRPC’s own load-balancing client, and several service meshes consume the same protocol.

xDS matters to API operations because it is where the runtime shape of an API estate is actually decided. A gateway or mesh configured through xDS has its routing, its upstream pools and its load-balancing policy expressed as data rather than as a config file somebody edited — which is the same argument OpenAPI makes about the contract, applied one layer down at the traffic tier. It is worth reading alongside gRPC and Protocol Buffers, because xDS is one of the largest production Protobuf API surfaces most teams never look at directly.

Open source tools that implement this standard

Harvested from this standard's own governing organisation, with the license read from each repository rather than assumed. The role is what the tool does to the specification, from the shared vocabulary — so an agent holding one of these documents can resolve straight from a goal to a tool.

Tool Role License What it does
Istio serves Apache-2.0 The service mesh whose control plane is the largest production consumer of xDS — programs Envoy sidecars and gateways across a ...
Envoy proxies Apache-2.0 The cloud-native L7 proxy whose configuration APIs became xDS — reconfigures itself dynamically from a control plane with no re...
Envoy Gateway proxies Apache-2.0 Manages Envoy as a Kubernetes Gateway API implementation, turning standard Gateway resources into xDS configuration.
Envoy Go Control Plane serves Apache-2.0 The Go library for building an xDS control plane — serves configuration to Envoy instances over the discovery APIs.
Envoy Java Control Plane serves Apache-2.0 The Java implementation of an xDS control plane for Envoy.
All API tooling →