v1.4.0 Release-Cycle: Experimental Features #3760
Replies: 11 comments 6 replies
-
Gateway API Support for gRPC Retries
|
Beta Was this translation helpful? Give feedback.
-
Match multiple values for the same header/cookie/query
|
Beta Was this translation helpful? Give feedback.
-
HTTP Cookie Match
Cookie is an essential part of the HTTP request. The Cookie header has multiple cookie-pair which contains the cookie-name and cookie-value. Just like HTTP route based on header and query parameter is common, it’d be helpful to have a Cookies are used to maintain state and identify specific users. Moreover, cookies, headers and query parameters are common techniques used in a canary release.
Originally posted by @lianglli in v1.2 #3103 (comment) |
Beta Was this translation helpful? Give feedback.
-
Query Parameter Filter
Just like modify header is useful, the same goes for query parameters. The query parameters are an important part of the request URL.
Originally posted by @lianglli in v1.2 #3103 (comment) |
Beta Was this translation helpful? Give feedback.
-
Support HTTP/3
Most browsers have support HTTP/3. However, if the server (host) supports HTTP/3, it will return response header Alt-Svc with h3 protocol, listen port and fresh time specifically. Based on ResponseHeaderModifier for enable HTTP/3 of a host, HTTPRoute owner need to get h3 protocol (E.g., h3 and h3-29) and h3 listening port of the gateway specifically. Hence, It's better to have a HTTPRoute config for enable/disable HTTP/3 of a host.
|
Beta Was this translation helpful? Give feedback.
-
DirectResponse Filter
DirectResponse Filter can be used to send a fixed response to clients for some HTTPRoute. For example, some hosts want to disable crawl any of the website's pages. For example, if there is a L7 attack, the directResponse will return 404 based on a new HTTPRoute asap.
|
Beta Was this translation helpful? Give feedback.
-
Improve Client Certificate Verification for the Gateway
|
Beta Was this translation helpful? Give feedback.
-
Support East-West (E/W) Authorization
Adding a new API to standardize basic, identity-based E/W authorization for mesh implementations.
East/West (E/W) authorization is a critical part of any service mesh. To ensure GAMMA can be used as a standalone solution by a broad user base, it must include some form of E/W authorization.
@robscott, (Others are interested and happy to help review, will add more as we go)
|
Beta Was this translation helpful? Give feedback.
-
HTTP Auth* in Gateway API for north/south use cases1. Describe the proposed feature Make forward progress on some sort of construct to describe authentication and/or authorization for north-south use cases. We've already got a provisional GEP for this at https://gateway-api.sigs.k8s.io/geps/gep-1494/ (#1494). 2. Why is this feature important for Gateway API? This is a table-stakes feature for most Ingress implementations, and the lack of a solution here is a barrier to Gateway API adoption. Note that this stage covers actually moving this to experimental. The current option discussed is support for Envoy's ext_auth API, which can be added to other proxies as well. This option would allow for multiple methods of Authentication and/or Authorization to be used, because of how ext_auth forwards request details off to another service. This proposal will only add to Gateway and/or HTTPRoute, with a Policy used as a last resort. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) This is easily supportable for Envoy implementations, other implementations will need to implement the API, which also involves writing down the API specification. 4. Do you have sufficient time to lead the development of this feature in Gateway API? Do you have anyone else that can help you? 5. Are there any relevant links for previous discussions about this topic in Gateway API? (It would be particularly helpful if you can provide links showing strong interest for this feature) We've talked about this already quite a bit:
|
Beta Was this translation helpful? Give feedback.
-
External Gateway ControllersDescribe the proposed feature Some cluster providers (GKE and Azure at least) are looking at moving the proxies that actually implement ingress controller / API gateway functionality out of the cluster, but they'd still like them to be able to participate in the mesh inside the cluster. Why is this feature important for Gateway API? The cluster providers will be doing this irrespective of whether Gateway API follows along (thanks, cloud providers! 😂). It will be better for both platform engineers and for mesh providers if we provide a cloud-agnostic way to support the external ingress proxy participating in the mesh; otherwise, either the hop from the external ingress proxy to the first meshed workload will be unencrypted, or the cloud provider will provide some cloud-provider-specific (and probably mesh-specific) solution. How broadly supportable would this feature be? It's conceptually straightforward to think about extending mesh mTLS keying to cover an external ingress proxy, so I would expect that at least the mTLS-based meshes would be able to implement this feature as long as we're careful in its design (sorry, Cilium!). (Note that "conceptually straightforward" does not imply "there are no challenges". 🙂) Do you have sufficient time to lead the development of this feature Yes. Do you have reviewers ready to support the progress of this feature? Yup, at least @robscott and @mikemorris. Are there any relevant links for previous discussions about this topic in Gateway API? We discussed it in Paris in two very active discussions; those are summarized in the Gateway API meeting notes. #1478 is sufficiently related that part of work on this proposed feature may involve furthering it as well. |
Beta Was this translation helpful? Give feedback.
-
Default GatewaysAna wants a concept of a default Gateway Describe the proposed feature Ana is likely to be frustrated by... well, many things about Gateway API, really, but one in particular is the need to always explicitly specify the parent Gateway of every route she ever creates. In a great many cases, Ana probably really just wants to say "here's a Route from the outside world to my workload"; giving her a way to do that is a concrete small step we can take to make her life easier when using Gateway API. Why is this feature important for Gateway API? If Ana wants to use Gateway API, that's a great way to improve adoption. Right now, though, the folks that I talk to who embody Ana tend to find Gateway API frustrating, partly because of the verbosity of the API, even while the folks that I talk to who embody Chihiro tend to welcome the control that Gateway API provides them. I think that there are ways we can tweak our balancing act here to be better for Ana. How broadly supportable would this feature be? This feature should be supportable by any N/S implementation -- all such implementations have to be able to select Gateways at present, and this feature is a modification to the logic by which they do so. Do you have sufficient time to lead the development of this feature Yes. Do you have reviewers ready to support the progress of this feature? Yup, at least @shaneutt. Are there any relevant links for previous discussions about this topic in Gateway API? #3385 has extensive discussion, but no resolution. |
Beta Was this translation helpful? Give feedback.
-
📣 The release cycle for Release v1.4.0 is starting. We anticipate releasing in time for Kubecon NA in November.
The purpose of this discussion is to do scoping for the Experimental features for this release.
If you have something you want to submit for inclusion in this release, post here using the following template:
When does scoping end?
As per the scoping documentation we are going to provide ~5 weeks for scoping. This means scoping concludes on Tuesday, May 20th, and at that time this thread will be locked and new features will not be accepted in scope past that point unless there are extenuating circumstances.
Upvoting
Comments on this thread can be upvoted by the community. The amount of upvotes a feature gets will help to inform the overall priority of features in this release. Please upvote as many issues as you like. Please leave an emoji 👍 as well, as this helps us know who voted for what.
Important Links
Important Notes
WARNING: Posting in this thread is exclusively for submissions that meet the above criteria. For instance, this is not a place to suggest inclusion of a feature you're not ready to work on yourself: if you'd like to ask for volunteers for a feature you want, posting on the issue itself as well as using our Slack Channel and Community Meetings are the appropriate places. Off-topic posts will be deleted.
Beta Was this translation helpful? Give feedback.
All reactions