gateway
gateway copied to clipboard
feat: support custom HTTP filter ordering
This PR allows users to adjust HTTP filter orders to suit their specific use cases. It also:
- adds a constraint limiting each
EnvoyExtensionPolicyto have a maximum of 16 wasm/extproc extensions. - Fixes the JSON tag in
FilterPositionAPI
Note: this PR doesn't handle the ordering of individual wasm/extproc extensions. This will be addressed in a follow-up PR, as it involves API change and may need more discussion.
Related: https://github.com/envoyproxy/gateway/issues/2571 https://github.com/envoyproxy/gateway/pull/2993
/retest
Codecov Report
Attention: Patch coverage is 94.66667% with 4 lines in your changes are missing coverage. Please review.
Project coverage is 66.94%. Comparing base (
29946b0) to head (42c3626). Report is 134 commits behind head on main.
:exclamation: Current head 42c3626 differs from pull request most recent head e4f6a93. Consider uploading reports for the commit e4f6a93 to get more accurate results
| Files | Patch % | Lines |
|---|---|---|
| internal/xds/translator/httpfilters.go | 93.54% | 2 Missing and 2 partials :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## main #3273 +/- ##
==========================================
+ Coverage 66.51% 66.94% +0.42%
==========================================
Files 161 163 +2
Lines 22673 23370 +697
==========================================
+ Hits 15080 15644 +564
- Misses 6720 6816 +96
- Partials 873 910 +37
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Do we need to validate that we don't have cycles like:
spec: filterOrder: - name: envoy.filters.http.jwt_authn before: envoy.filters.http.cors - name: envoy.filters.http.cors before: envoy.filters.http.jwt_authn
imo if we apply in order, we wont hit this issue, right ?
Do we need to validate that we don't have cycles like:
spec: filterOrder: - name: envoy.filters.http.jwt_authn before: envoy.filters.http.cors - name: envoy.filters.http.cors before: envoy.filters.http.jwt_authnimo if we apply in order, we wont hit this issue, right ?
Added a check for a more friendly UI.