Replies: 11 comments 26 replies
-
Complete Backend mTLS Configuration1. Describe the proposed feature
Of those, 2 may not seem quite as obvious as the rest. The rationale is that SPIFFE is very commonly used as part of mTLS, and is not compatible with our current requirement that the cert served by the backend must match the SNI used to connect to the backend. Adding the option to separately specify SANs would also enable the use of SPIFFE IDs with BackendTLSPolicy. 2. Why is this feature important for Gateway API? 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) 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) |
Beta Was this translation helpful? Give feedback.
-
Named Route rules1. Describe the proposed feature 2. Why is this feature important for Gateway API?
The lack of this field makes referencing route rules overly complex, less assertive and prone to errors. Less effective alternatives include: relying on the index position of element in the list of rules, as well as non-standardized and protocol-specific patterns for generating unique identifiers out of route rule definitions. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) 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) |
Beta Was this translation helpful? Give feedback.
-
Query Parameter Filter1. Describe the proposed feature 2. Why is this feature important for Gateway API? The query parameters are an important part of the request URL. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline)
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) |
Beta Was this translation helpful? Give feedback.
-
HTTP Cookie Match1. Describe the proposed feature
2. Why is this feature important for Gateway API? Cookies are used to maintain state and identify specific users. Moreover, cookies, headers and query parameters are common techniques used in a canary release. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline)
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) |
Beta Was this translation helpful? Give feedback.
-
Standard Mechanism to Merge Multiple Gateways1. Describe the proposed feature Support for merging Gateways should have standard & documented mechanic. 2. Why is this feature important for Gateway API? Knative generates on demand per-service certificates using HTTP-01 challenges. There can be O(1000) Knative Services in the cluster which means we have O(1000) distinct certificates. The Gateway Resource is a contention point since is the only place to attach listeners to gateways with certificates. The spec currently has language to indicate implemenations gateway-api/apis/v1beta1/gateway_types.go Lines 76 to 78 in 541e9fc Secondly, given similar use-cases/needs for control planes to manage listeners it might make sense that 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) I believe Contour has prototyped this GEP. Envoy Gateway has a similar feature to merge gateways (https://gateway.envoyproxy.io/v0.6.0/api/extension_types/#envoyproxyspec) 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? Yes 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) GEP is out and has some comments: #1863 |
Beta Was this translation helpful? Give feedback.
-
Configurable Retries in HTTPRoute1. Describe the proposed feature It should be possible to configure when and how requests on a given HTTPRoute are retried:
It may also be worth exploring whether retry semantics should be configurable as a Service-targeted policy instead of or in addition to HTTPRoute, such as suggested in https://gateway-api.sigs.k8s.io/geps/gep-713/#targeting-virtual-types 2. Why is this feature important for Gateway API? Configuring retries is a core capability for ensuring service networking resiliency, and has been requested by multiple implementations. Specifically, this is a core gap for both Istio (as the current configuration requires an EnvoyFilter extension) and for Linkerd to recommend further adoption of HTTPRoute over their ServiceProfile resource, as well as being common functionality for N/S ingress implementations. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) For max count retries, all three requirements should be implementable for Envoy based implementations, the first two would be implementable for HAProxy based implementations, and it's currently unclear what would be implementable for NGINX or others - the first step here would be a provisional GEP documenting existing capabilities of prospective implementations. Linkerd only supports budgeted retries. Envoy does have an implementation of retry budgets as a "circuit breaker" and configuring budgeted retries has been requested functionality from Istio users, but may require some upstream work in Envoy to implement this for incoming requests instead of outgoing.
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? Yes 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) |
Beta Was this translation helpful? Give feedback.
-
Static Infrastructure Attachment1. Describe the proposed feature Add the capability for a Gateway resource to program infrastructure that has been provisioned by some other means (e.g. via Helm), but for which the implementation may or may not actually manage the lifecycle of that underlying infrastructure. 2. Why is this feature important for Gateway API? This deployment model is currently a requirement for some implementations and an optional deployment mode for others. Such a mode can be particularly helpful for allowing legacy/pre-operator deployments to have Gateway API functionality. We should incorporate this into the Gateway API spec to ensure it's possible to configure this in a standardized way and enable implementations for which this is a requirement to pass the conformance suite. This feature would be complementary to (but not dependent on) the "gateway merging" standardization happening in #1863. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) This deployment model is currently required by: Additionally, it is optional for: 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? Yes. I'm hoping @snehachhabria and @kate-osborn may be able to assist with advancing this. 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) |
Beta Was this translation helpful? Give feedback.
-
Percentage-Based Request Mirroring1. Describe the proposed feature 2. Why is this feature important for Gateway API? 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) 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) |
Beta Was this translation helpful? Give feedback.
-
Support Request Timeouts for GRPCRoute1. Describe the proposed feature A request.Timeout field within GRPCRoute similar to the one added in HTTPRoute as part of https://gateway-api.sigs.k8s.io/geps/gep-1742/ 2. Why is this feature important for Gateway API?
3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) Should be supportable on implementations that support GRPCRoute which do include implementations that use Envoy and NGINX as their underlying data plane 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? Yes 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) |
Beta Was this translation helpful? Give feedback.
-
CORS Filter1. Describe the proposed feature 2. Why is this feature important for Gateway API? Cross-Origin Resource Sharing (CORS) is supported by all browsers. Complex applications often reference third-party APIs and resources in their client-side code. CORS allows browsers to enforce the same-origin security policy for preventing client-side from accessing sensitive resources of a server on a domain different than the domain that served the web page. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline)
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) |
Beta Was this translation helpful? Give feedback.
-
HTTPRoute-level SSL redirection1. Describe the proposed feature There's no simple way to enforce SSL redirection solely the route level. A solution here could be being able to match on the scheme in the HTTPRoute. I'm open to others. 2. Why is this feature important for Gateway API? This would help with redirect loops and http => http redirects. Currently it requires two HTTPRoutes and configuring a two Gateway listeners to accomplish this. But that approach only works well if you have the ability to configure your Gateway. The goal here is to support this feature at the HTTPRoute level. 3. How broadly supportable would this feature be? (Look at Envoy, HAProxy, and NGINX as a baseline) nginx/K8s Ingress has an annotation ingress.kubernetes.io/force-ssl-redirect: "true" Contour supports the above annotations. I think this behaviour is pretty common in many implementaitons. 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) #2809 |
Beta Was this translation helpful? Give feedback.
-
Scoping for GEPs moving to Experimental in Gateway API v1.2 has now closed. GEPs that are in scope have been added to the v1.2 milestone.
The scoping has been done using the v1.2 Experimental discussion and the numbers have been run in the Scoping spreadsheet, so you can see how everything worked out.
For GEPs in scope:
Implementable
by July 30, 2024. If they don’t make this deadline, they will be removed from the scope for the actual release.For GEPs out of scope:
Thanks also to everyone who has committed to moving GEPs forward from Experimental to Standard, you can see this list in the v1.2 Standard discussion. There may be other GEPS (particularly Policy Attachment) that move into scope here later, keep an eye out for that. We should also note that if we don’t have all of these move forward, we may have to cut some GEPs from the Experimental -> Standard scope as a result. Get those GEP PRs in!
The current timeline for the rest of the v1.2 release looks like this:
This would leave us able to open the scoping phase for v1.3 sometime in October, in time for Kubecon NA 2024.
One last thing: please remember that anyone can review Gateway API PRs, not just the maintainers and GEP reviewers. Community reviews are super helpful and very much appreciated.
In v1.2, we're working towards a more predictable release process, and we're currently in the first phase of that process - scoping. This discussion is intended to be a central place for proposed additions to the experimental channel in v1.2.
If you have an enhancement that you would like to see included in Gateway API v1.2, and you personally have time to lead the development of the feature, please add a comment below using the following template:
Ultimately, we'll likely have more proposals here than the project has room for. Each feature that leaves experimental channel in a release gives us an opening to add a feature to experimental channel, and we're expecting somewhere between 3 and 5 in this cycle. (You can help the project move more quickly and accept more new features by helping us move features out of experimental channel - see #3128 for details). Even if you don't have time to lead a feature, you can help us prioritize the features proposed in this thread by:
The scoping process is scheduled to wrap up on June 11, 2024. Please have all proposals in place at least 1 week before that point so everyone has sufficient time to comment and vote on proposals.
It's worth noting that maintainers will still have some discretion in terms of which proposals are accepted into the scope of a release, but the information gathered here will be the primary consideration for which proposals are included in v1.2. Essentially we're hoping to prioritize features that:
Beta Was this translation helpful? Give feedback.
All reactions