envoyproxy / envoyproxy/envoy

Generic xDS resource manager

Open
#24,773 9 comments 0 reactions 1 assignee Claimed by @adisuissa View on GitHub
area/xds design proposal no stalebot
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.