Skip to content

Teach transcoding filter to be aware of per vhost / per route settings  #11038

@gagata

Description

@gagata

Currently envoy.filters.http.grpc_json_transcoder is only applied on the 'global' level, meaning that it's not possible / easy to setup envoy's configuration for the following scenarios:

  • having two routes for two different domains configured with the same path value (assuming they use transcoding), example: say you have domain1.com/foo and domain2.com/foo and want requests to each of them be transcoded and then be forwarded to different upstreams
  • using RDS with transcoded paths
  • gracefully migrating from a setting that does not use transcoding to a setting that does (or the other way round), example: having a path that accepts some json in request and currently upstream is responsible for deserialization and being in the process to migrate over to a proto-based solution and leveraging transcoding plugin, for the time of the migration part of the traffic would go directly to the upstream, while the other part would be transcoded and sent to a newly implemented upstream

Potential solution:
Add similar logic to the transcoding filter as it is, for example, in Buffer

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions