envoy
envoy copied to clipboard
http: implementing upstream filters
Major refactors to the upstream request to allow for upstream filters. This is runtime guarded but the refactor itself is high risk either way, due to the number of code points for data flow.
There's still a bunch of refactoring and clean up to do after this. Upstream filters can do anything (except refresh route and do internal redirects) that downstream filters can, but have no ability to affect or access the upstream connection. That will come as the upstream interfaces are added but I figured this was a large enough PR without that extra work.
Risk Level: high Testing: LOADS of integration testing: all the filter integration tests now run for upstream/downstream. Docs Changes: n/a (will once it's unhidden) Release Notes: inline Runtime guard: envoy_reloadable_features_allow_upstream_filters Most of https://github.com/envoyproxy/envoy/issues/10455
As a reminder, PRs marked as draft will not be automatically assigned reviewers, or be handled by maintainer-oncall triage.
Please mark your PR as ready when you want it to be reviewed!
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @mattklein123
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).
@RyanTheOptimist feel encouraged to ignore this one for tonight - you already did a large PR for me today and I suspect it'll still fail coverage. I'll work on unit tests in the morning but I'm still super stoked to have this "done"
cc @paul-r-gall
looks like an unrelated fuzz flake /retest
Retrying Azure Pipelines: Check envoy-presubmit isn't fully completed, but will still attempt retrying. Retried failed jobs in: envoy-presubmit
@mattklein123 ping?
(working one morning this week from Poland, would love your comments by then)
@mattklein123 ping?
Sorry I didn't realize this was waiting on me. I will review today.
@mattklein123 can I get a stamp on the merge resolution?