Istio ingress gateway json transcoding

I have successfully managed to get a json transcoding filter running in my cluster on one of my services.

I am not quite pleased with this solutuion however, because it requires me to route http traffic through my cluster instead of only routing grpc traffic.

Has anyone succeeded in appyling the json transcoding filter to the ingress gateway, so that http traffic stops at the edge of and is handled as all services behind the ingress gateway?/Is it even possible to use the envoy filter in this way.

Managed to get this working by using Kustomize to add a volume and volumeMount to the generated deployment for istio-ingressgateway. If it has any interest to anyone let me know, and i’ll provide some more detailed info :slight_smile:

@JacobSMoller I am very interested in how you managed to do it! Can you please share more details and most important part of the configuration yaml? Thanks!

Hi @caiolopes, did you manage something. Sorry, got signed out of istio discuss, so haven’t been getting notifications.

Will put some more info in here when I get to the office in 2 hours or so.

Okay. So to make the json transcoding work without having to route HTTP traffic and do json transcoding in each service. What I did was.

If also using ext_authz and rate limit envoy filters make sure to subfilter the json transcoder to be before those filters to ensure that the requests are transcoded before hitting the services implementing auth and rate limit endpoints.