GRPC-CLI
GRPC-CLI aim to be a human friendly cli that can make gRPC calls. The core concepts are:
- Takes a FileDescriptorSet to discover service and type dynamically
- Great autocomplete event in complex message structure
Quick Start
$> cd protobuf-root-folder
$> protoc -I . (find . -name "*.proto") -o ~/proto.descriptor
$> grpc-cli --descriptor ~/proto.descriptor --target api.test.com:443 rpc package.Service Method param1=value param2=value
Config
For convenience many flags can be stored in a configuration file. Config file is located in "~/.config/grpc-cli/config.yaml" by default
target: api.test.com:443
descriptor: ~/proto.descriptor
metadata:
x-auth-token: [ "value1", "value2" ]
ca_cert: ~/path-to-ca-cert.pem
cert: ~/path-to-client-cert.pem
key: ~/path-to-client-key.pem
disable_tls: false
# Profiles allow you to easily override some varaibles
profiles:
prod:
target: api-prod.test.com:443
staging:
target: api-staging.test.com:443
Roadmap
- Core initialization
- Cobra command tree construction
- Top level flag parsing
- Basic configuration file support
- Basic TLS configuration
- Basic Argument parsing
- Autocompletion
- Nested message suport
- Argument parsing
- Documentation generation
- Autocompletion support
- Request execution
- ProtoSet flag can be a remote URL
- Streaming support