-
Notifications
You must be signed in to change notification settings - Fork 437
feat: Implement requestBuffer #5661
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5661 +/- ##
==========================================
- Coverage 65.27% 65.25% -0.02%
==========================================
Files 213 214 +1
Lines 34104 34217 +113
==========================================
+ Hits 22262 22330 +68
- Misses 10502 10533 +31
- Partials 1340 1354 +14 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
63c5792
to
4f7ffef
Compare
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
Signed-off-by: mark winter <[email protected]>
6affbbe
to
d6add20
Compare
@markwinter Thanks so much for working on this great feature — really appreciate the effort you’re putting in!
This behavior is different than other types of settings in the BackendTrafficPolicy, where the settings targeting Gateway apply to all xRoutes. This inconsistent behavior of BackendTrafficPolicy could confuse users. We also can't apply a default RequestBuffer for all the xRoutes under a Gateway. Another small thing: when the Buffer filter is applied at the Gateway level, it’s configured on all Listeners. While this makes sense (since BackendTrafficPolicy doesn’t target Listeners directly), it might be a bit unexpected from a user perspective. I prefer keeping the same "Override" behavior as the other settings, and adding a Shared global rate limit: gateway/api/v1alpha1/ratelimit_types.go Lines 55 to 62 in 61474e3
cc @envoyproxy/gateway-maintainers |
hey @markwinter as @zhaohuabing suggested, can the implementation push all the intent to per Route, and we can enhance this in the future with a |
@arkodg @zhaohuabing Thanks for the feedback. On holiday for a week and will return to the PR afterwards 👍 |
What this PR does / why we need it:
This implements the new requestBuffer API using the Envoy's Buffer and BufferPerRoute filters.
API PR: #5537
If the BTP has a Gateway as a target, then we will configure the Buffer filter on the Listener. If the BTP has a HTTPRoute as a target, then we will configure the BufferPerRoute filter for that particular route. The BufferPerRoute will take precedence - I've tested having both applied and the BufferPerRoute maxBytes won
Which issue(s) this PR fixes:
Fixes #3706
Release Notes: Yes