gateway-api
gateway-api copied to clipboard
WebSocket protocol support
This issue is closely related to #204.
There should be a way for applications to indicate that they want WebSocket streams for HTTP/1.1 or HTTP/2.
One way to do this could be a WebSocketRoute as a peer to HTTPRoute. Another way cold be to add a field somewhere under the HTTPRoute API.
Some ingress controllers implement this by a flag on the HTTP virtual host or forwarding route (e.g. Contour puts it on the Route).
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale
/remove-lifecycle stale
Not stale, but also not for v1alpha1.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten
/remove-lifecycle rotten /lifecycle frozen
Any progress on this? Seems like an essential feature.
There's been no progress that I'm personally aware of. If you have a strong interest and use case it might be worth joining the monday night community meeting and bringing this one up for discussion :thinking:
So as it turns out, there's some discussion about this going on in #1244. I'm going to mark this as help wanted as we need an owner to drive this forward (hopefully as a direct result of that discussion).
Given that this has been marked help wanted for a long time without anyone with a strong interest to champion it and move it forward, it doesn't seem like we've got any momentum behind this currently. As such we'll consider this closed as "not planned" for the moment. This doesn't mean we'll never do it it just means it doesn't currently have any priority: if you're interested in taking this issue on and moving it forward please comment here and we would be happy to re-open it.
@shaneutt this falls under the backend properties
https://gateway-api.sigs.k8s.io/geps/gep-1282/
I would reopen this
/reopen
@dprotaso: Reopened this issue.
In response to this:
/reopen
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
some implementations like Envoy Gateway and Istio have web socket upgrade enabled by default for HTTP 1.1
@dprotaso are you specifically interested in driving this forward, may we assign you?
Yup please do - I'm going to try tackling specifying backend protocol which would cover this
Awesome, thank you! Let us know how we can support you in your efforts :vulcan_salute:
/assign @dprotaso
We want this feature, but just a heads up @dprotaso we consider it low priority until v1.0.0/GA is complete and don't believe we will have bandwidth for it until then.
I'm hoping this can be covered by - https://github.com/kubernetes-sigs/gateway-api/issues/1911
For those following I created a GEP PR that I believe would https://github.com/kubernetes-sigs/gateway-api/pull/1979 address this issue. PTAL with and leave comments.
From the GEP-1911 discussion folks seem onboard with using the K8s appProtocol as the mechanic to specify upstream protocol. I have yet to rewrite the GEP but I've created an k8s/enhancement (https://github.com/kubernetes/enhancements/pull/3996) to see if we can define kubernetes.io/websocket and kubernetes.io/websocket-secure