Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow custom logic for wildcard requests in delta xds #1092

Open
hochuenw-dd opened this issue Jan 20, 2025 · 0 comments
Open

Allow custom logic for wildcard requests in delta xds #1092

hochuenw-dd opened this issue Jan 20, 2025 · 0 comments

Comments

@hochuenw-dd
Copy link

Currently, in Delta XDS, wildcard requests result in the control plane returning all resources. However, based on the Envoy XDS doc, it seems that users should be able to decide how to implement the logic for wildcard requests.

In this case, the server should use site-specific business logic to determine the full set of resources that the client is interested in, typically based on the client’s node identification.

In our environment, we are building a control plane that can fetch virtual hosts and clusters in an on-demand fasion based on http headers. Given the scale of our system, sending all virtual hosts and clusters in the world is not going to work. So we are trying to use the linear cache to implement a workflow follows this order: RDS -> VHDS -> ODCDS -> EDS.

However, since the first VHDS request is a wildcard request (related issue), the control plane currently responds by sending all virtual hosts in the world back to envoy proxy, which is not ideal. In our use case, returning an empty response for the initial requests would be sufficient, which means do nothing when sending a request without any resource names. All virtual hosts will then be fetched dynamically when Envoy forwards requests.

Does it make sense to allow users to define custom logic for wildcard requests? We'd be happy to contribute to the upstream if this makes sense to the team.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant