Generic xDS resource manager
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
*Title*: *Generic xDS resource manager*
*Description*:
Currently components that use xDS resources directly interact with the subscription messages, and in part need to adhere to the xDS-protocol and the transport-layer. This could lead to inconsistencies in the ways that different xDS services behave (for example, #13009, #16350, #12061).
We propose xDS-Manager, that will be the entry point for xDS-resource subscriptions that will:
* Decouple the xDS-transport layer from the xDS-data layer, and ensure the correct usage of the xDS-protocol.
* Serve as a single component that manages the connections with external config sources.
* Allow internal components (including extensions) to fetch resources using xDS - including arbitrary resource types over ADS.
* Ease the introduction of new xDS types and ensure they adhere to the xDS-protocol.
* Manage the fetched resources lifetime.
The design doc can be found [here](https://docs.google.com/document/d/1xbRjmI6PuSpLG1dYtFdc0gRbEmX-LtEagzowQnIiBQc/edit#).
This proposal may address or improve the following issues (among others):
* #13009 - ensuring that CDS updates are using the latest EDS resources.
* #11547 - blob discovery.
* #8400 - resource patching (partial support).
Contributor guide
Assessment
This issue has not been assessed yet.