envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.87k stars 4.78k forks source link

Why not add POST REST API method in admin module to support the dynamic configuration resources (such as listeners) update ? #35260

Closed wufanqqfsc closed 1 month ago

wufanqqfsc commented 2 months ago

Title: Proposal to add new admin REST API to support the dynamic resource update via POST methods

Description:

We know that the envoy admin rest api have some http get methods to get the configuration dumps of resources such as the listeners, So why not add some post method to support the dynamic resources update via admin REST API ? So that it's very easy to update the LDS configurations via admin module.

KBaichoo commented 2 months ago

Hi @wufanqqfsc ,

I think this would create a large amount of complexity e.g. what happens in the cases where you're using a management server or file system xds which contradicts the POST provided? How would you monitor this fleetwide to know what configs your proxys are running? What happens if the proxy restarts (either from crash, hot restart -- how do we make that persist?

I'd suggest looking at file system xds if you aren't using a management server for your envoys and seeing if you can use that for your usecase.

wufanqqfsc commented 2 months ago

@KBaichoo thanks for your comments here . We are now using the file system xds, but as we know that we can't know the file based xds update results. This is not friendly for the file based xds.

And in our case we were not using a xds server because our envoy were running in some embedded system for some memory limitation. And also there is no mature XDS server which was implemented via c++. So using xds server means we should totally re-write a c++ version xDS server, so the cost is a little big...

So the best way may be we add some Post method for the Envoy admin and then hander the resource update via http message and then response the xds update result to the client.

This is just our idea right now ,and so i ask this question for more suggestions from the envoy community.

github-actions[bot] commented 1 month ago

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.