Websockets in service mesh

I want to provide a service through connect that communicates via websockets.

I believe that envoy is breaking websocket connections by not upgrading the connection: as I understand it I need to add an upgrade_config entry as detailed here:

With the recent updates to customise envoy configuration, what is the best way to add this configuration? Or is the only way to specify a full public listener for the ingress gateway and service?

Hi @mr-miles there is a long standing issue tracking this feature request: Support HTTP connection protocol upgrades thru Envoy · Issue #8283 · hashicorp/consul · GitHub that was raised by a fellow colleague of mine. I am supportive building this functionality however it has historically been prioritized lower than other more urgent product features.

Is your case for east west traffic are for ingress traffic? Could you also post your feedback on the Github issue as well?

Thanks I did not find that issue so will add a comment there! I had not thought of the tcp workaround.

In my case, I have a service that speaks to a webapp via websockets, and all the non-websocket parts and other services are exposed via an http service router and ingress gateway.