Skip to content

Support / clarify/ feature request for gRPC→gRPC traffic mirroring using mirror: true in HTTPProxy #7277

@roshan-meesho

Description

@roshan-meesho

Please describe the problem you have
We have a gRPC service (Go-based) running behind Contour using HTTPProxy with protocol: h2c serving grpc traffic.
We are trying to mirror this traffic to another gRPC backend (written in Rust in another VM) using the HTTPProxy mirror: true option.

Example:
        - name: xxxx
          port: 80
          slowStartPolicy:
            aggression: '0.1'
            minWeightPercent: 10
            window: 300s
        - name: xxx-mirror-rust
          mirror: true
          port: 80
          protocol: h2c
          weight: 1

and we have pointed that service xxx-mirror-rust to a externalname which is poiting to my hosted rust backend at a certain port.

What did we observe?

  • Mirroring works fine for HTTP applications serving http traffic.
  • For gRPC traffic, we consistently see 503 errors on the mirror service.
  • It seems gRPC → gRPC mirroring might not be supported yet or documented.

What do we expect?

  • Clarification on whether Contour supports gRPC mirroring on grpc traffic with mirror:true option as working for http traffic.
  • If not, request to add support or documentation for this use case.
  • Any known workarounds for sending gRPC mirror traffic to another gRPC backend.

Used Environment

  • Contour version: 1.27.0 & 1.28.0
  • Used HTTPProxy with protocol: h2c for both upstreams as grpc needs this annotations

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.lifecycle/needs-triageIndicates that an issue needs to be triaged by a project contributor.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions