Skip to content

xds: Introduce new generic xDS and LRS clients decoupled from gRPC-specific elements and migrate internal xDS and LRS functionality to use new generic clients #8313

@purnesh42H

Description

@purnesh42H

Use case(s) - what problem will this feature solve?

Stabilize the gRPC-Go xDS client and decouple from gRPC-specific elements to make it suitable for broader use. This involves removing dependencies on gRPC code related to client configuration, resource validation, and monitoring. By making these changes, a more generic xDS client can be created and exported for use outside of gRPC.

Proposed Solution

  • Create a client instance with an in-memory configuration that consists of the node configuration, an authority map with xds server configurations, transport builder to build your own transport and credentials to use for each xDS server.
  • The xDS client allows for creating watches for named resources that can be received on an ADS stream.
  • The xDS client should support federation and fallback.
  • At initialization time, the application can provide resource processing functions for these resources.
  • The xDS client will cache processed and unprocessed resources.
  • The xDS client can provide raw CSDS data.
  • The LRS client should also allows to report load through LRS Stream.

Tasks

Sub-issues

Metadata

Metadata

Assignees

Labels

Area: xDSIncludes everything xDS related, including LB policies used with xDS.Type: FeatureNew features or improvements in behavior

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions