-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Adding HTTP service support for Envoy external processing #35488
Comments
It is planned to have multiple incremental PRs to support this feature:
x) TBD: x.1)
This won't be considered in the MVP of ext_proc HTTP support. x.2) Logging the HTTP ext_proc call, something like gRPC stream logging here:
x.3) Adding test for having the side stream server using HTTP1 protocol. x.4) Refactoring the code to move the stream_ variable out from Filter class, and put it into ExternalProcessorClientImpl class. So, the Filter::sendRequest() can directly call: client_->sendRequest() for better abstraction. x.5) change client_impl.[h|cc] into grpc_client_impl.[h|cc] to distinguish it from http client files. x.6) do we need something for HTTP for logging/monitoring purpose, something like: void Filter::logGrpcStreamInfo(). x.7: do we need to set call_backs_ to nullptr at http_client->cancel() (not necessary, need to revisit) x.8) Explore the option to refactor client_->start() to not have dynamic_cast there. x.9) Explore the option to refactore stream_->sendRequest() to avoid dynamic_cast there. x.10) session affinity support |
This is to address the 1st step, i.e, the API change needed for #35488. --------- Signed-off-by: Yanjun Xiang <[email protected]>
This is to address the 1st step, i.e, the API change needed for envoyproxy/envoy#35488. --------- Signed-off-by: Yanjun Xiang <[email protected]> Mirrored from https://github.com/envoyproxy/envoy @ ff94c296f27be2f4a6cd71a2d6b0898cec6c2100
…#35489) This is to address the 1st step, i.e, the API change needed for envoyproxy#35488. --------- Signed-off-by: Yanjun Xiang <[email protected]> Signed-off-by: Martin Duke <[email protected]>
Risk Level: low Testing: n/a Docs Changes: n/a Release Notes: inline Fixes: Description: This is to address the 2st step of #35488, i.e, the ext_proc HTTP client framework. --------- Signed-off-by: Yanjun Xiang <[email protected]>
…#35489) This is to address the 1st step, i.e, the API change needed for envoyproxy#35488. --------- Signed-off-by: Yanjun Xiang <[email protected]> Signed-off-by: asingh-g <[email protected]>
The processing flow works this way: When Envoy needs to send call out messages to the side stream server, either header, body , or trailer, Envoy construct a ProcessingRequest proto message. |
…36228) This PR is part of the required refactoring needed to support HTTP client in ext_proc: #35488 It is also to address a comment of #35740 (comment) --------- Signed-off-by: Yanjun Xiang <[email protected]>
Risk Level: low Testing: n/a Docs Changes: n/a Release Notes: inline Fixes: Description: This is to address the issue: #35488, i.e, integrate the ext_proc HTTP client to ext_proc filter. With this PR, the basic functionalities to have Envoy ext_proc filter talk to a HTTP server using HTTP messages are accomplished. This is the follow up of PR: #35676 --------- Signed-off-by: Yanjun Xiang <[email protected]>
Risk Level: low Testing: n/a Docs Changes: n/a Release Notes: inline Fixes: Description: This is to address the issue: envoyproxy/envoy#35488, i.e, integrate the ext_proc HTTP client to ext_proc filter. With this PR, the basic functionalities to have Envoy ext_proc filter talk to a HTTP server using HTTP messages are accomplished. This is the follow up of PR: envoyproxy/envoy#35676 --------- Signed-off-by: Yanjun Xiang <[email protected]> Mirrored from https://github.com/envoyproxy/envoy @ a3e32c92c5ae699a4daad094c6a87b58e1e84ec2
Risk Level: low Testing: n/a Docs Changes: n/a Release Notes: inline Fixes: Description: This is to address the 2st step of envoyproxy#35488, i.e, the ext_proc HTTP client framework. --------- Signed-off-by: Yanjun Xiang <[email protected]> Signed-off-by: duxin40 <[email protected]>
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. |
#35740 fixed the issue. |
Title: Adding HTTP service support for Envoy external processing
Description:
Currently Envoy ext_proc filter can only talk to a gRPC service to do external processing. There is a need for ext_proc filter to be able to talk to a raw HTTP service to do the external processing.
This issue tracks the work needed to send HTTP messages to carry headers(request/response) to the side stream server.
Sending body or trailers using HTTP message will be tracked by a separate effort.
The text was updated successfully, but these errors were encountered: