Skip to main content

Call gRPC Endpoints (CLI)

buf does not provide any gRPC call functionality directly. We feel such CLI functionality is better left to gRPC-specific tools for now, as they are concentrated on the specific issues associated with gRPC. buf continues to support generation of gRPC clients and servers via Protobuf plugins. See generate usage for more information.

However, buf can provide FileDescriptorSets usable by gRPC CLI tools on the fly, which is very useful when gRPC Reflection is not available on a server, which is the common case.

grpcurl#

We recommend using grpcurl for gRPC operations from the command line. We feel that grpcurl is the most reliable gRPC CLI tool while providing most necessary functionality. Additionally, grpcurl actually uses the same Protobuf library that Buf's internal compiler is derived from.

To use buf-produced FileDescriptorSets with grpcurl on the fly:

$ grpcurl -protoset <(buf build -o -) ...

ghz#

ghz is another CLI tool we can recommend. It has a host of features, including various output formats and benchmarking functionality.

To use buf-produced FileDescriptorSets with ghz on the fly:

$ ghz --protoset <(buf build -o -) ...