xDS support for async-grpc clients.
This gem contains the experimental xDS implementation extracted from async-grpc, including Envoy xDS protobuf definitions, aggregated and resource-specific discovery, CDS/EDS resource handling, and client-side load balancing.
Please see the project documentation for more details.
- Getting Started - This guide explains how to use
async-grpc-xdsto publish CDS and EDS resources to Envoy, or to discover gRPC backends from Ruby using xDS.
The integration/ directory contains Docker Compose environments for testing the Ruby xDS client against a Go control plane and the Ruby control plane against Envoy.
bundle exec bake test:integrationPlease see the project releases for all releases.
- Add dedicated Cluster Discovery Service and Endpoint Discovery Service implementations, allowing resource-specific xDS streams without claiming ADS.
- Allow generated clusters to use a dedicated EDS configuration source instead of ADS.
- Add Envoy HTTP active health-check resources and attach health checks to generated clusters.
- Add ORCA load reporting messages, service interface, and client-side weighted-round-robin resources.
- Support endpoint hostnames in generated EDS resources.
- Replace the general resource builder with focused cluster and endpoint builders.
- Add complete documentation coverage for the public xDS API.
- Support grouped IP and Unix-domain-socket addresses in EDS endpoints.
- Support selecting HTTP/1 or HTTP/2 for generated clusters.
- Add complete documentation coverage for the public xDS API.
- Support grouped IP and Unix-domain-socket addresses in EDS endpoints.
- Support selecting HTTP/1 or HTTP/2 for generated clusters.