Skip to content

Feature Request: supporting runner-level metadata for gRPC runner #1475

Description

@GrayFlash

Hi, thank you for maintaining this tool I was hoping to use this for scenario testing.

I'd like to use gRPC server reflection instead of local protos, even when servers require per-request authentication (Bearer token in metadata). Currently metadata/headers is only available at the step level, so there seems no way to authenticate the internal reflection call that connectAndResolve will make via grpcreflect.NewClientAuto.

Would it be possible to support a metadata field at the runner level?

  runners:
    grpc:
      addr: grpcs://my-service:443
      metadata:
        authorization: "Bearer ${TOKEN}"

This would apply to all calls on the connection, including reflection. It maps naturally to grpc.WithPerRPCCredentials() or injecting metadata into the context passed to resolveAllMethodsUsingReflection.

Without this, any gRPC server behind an auth proxy (Cloud Run, Istio, Envoy with JWT, etc.) can't use reflection with runn, the workaround seems to be bundling local .proto files, which defeats the point of reflection.

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions