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!
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
connectAndResolvewill make viagrpcreflect.NewClientAuto.Would it be possible to support a metadata field at the runner level?
This would apply to all calls on the connection, including reflection. It maps naturally to
grpc.WithPerRPCCredentials()or injecting metadata into the context passed toresolveAllMethodsUsingReflection.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!