gateway icon indicating copy to clipboard operation
gateway copied to clipboard

Consider adding a HTTPRouteFilterExtensionRef for Envoy Gateway

Open arkodg opened this issue 1 year ago • 1 comments

Description:

Describe the desired behavior, what scenario it enables and how it would be used.

The project has been able to add functionality not yet defined in the Gateway API using Extensions

However some features that naturally live at the rule level within a xRoute that are API specific, dont fit well within Policies such as

  • Direct Response https://github.com/envoyproxy/gateway/issues/2714
  • Regex Based Rewrites https://github.com/envoyproxy/gateway/issues/1794
  • Body Transformations https://github.com/envoyproxy/envoy/issues/35783

Adding support for these features in the Gateway API will take time, since building a common API across multiple implementations is not a trivial task, however this is impacting users migrating to Envoy Gateway from other projects who are unable to do so because these common features dont exist yet

Raising this issue to propose adding a new CRD that can be attached to a HTTPRoute rule using the extensionRef field within HTTPRoute https://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.HTTPRouteFilter

arkodg avatar Aug 28 '24 21:08 arkodg

wdyt @envoyproxy/gateway-maintainers @envoyproxy/gateway-reviewers

arkodg avatar Aug 28 '24 21:08 arkodg

for #2714 do we need to wait https://github.com/kubernetes-sigs/gateway-api/issues/2826?

zirain avatar Sep 01 '24 00:09 zirain

for #2714 do we need to wait kubernetes-sigs/gateway-api#2826?

yah we can wait or implement this via an extension (highlighted in this PR)

arkodg avatar Sep 03 '24 21:09 arkodg

Also consider using this for: https://github.com/envoyproxy/gateway/issues/3173

guydc avatar Sep 03 '24 22:09 guydc

+1 to the filter approach. Would like to see this in 1.2.0.

guydc avatar Sep 03 '24 23:09 guydc

for #2714 do we need to wait kubernetes-sigs/gateway-api#2826?

yah we can wait or implement this via an extension (highlighted in this PR)

Upstream will not implement it before v1.3(which seems too long), +1 to the filter approach.

zirain avatar Sep 04 '24 00:09 zirain

+1, reg naming, HTTPFilter feels like a safe umbrella term to stash all the features under

arkodg avatar Sep 05 '24 20:09 arkodg

+1 on adding an umbrella HTTPFilter to hold all rule-specific features.

zhaohuabing avatar Sep 06 '24 01:09 zhaohuabing

+1 for adding it as an general route level filter

Xunzhuo avatar Sep 06 '24 02:09 Xunzhuo

+1 for the approach and HTTPFilter

Alice-Lilith avatar Sep 06 '24 17:09 Alice-Lilith