A small boilerplate gRPC app based on the Go helloworld with 12-factor.
make run
With gRPCurl:
echo '{"name": "World"}' | grpcurl -plaintext -d @ localhost:50051 helloworld.Greeter/SayHello
{
"message": "Hello World"
}
Health check:
grpcurl -plaintext localhost:50052 grpc.health.v1.Health/Check
{
"status": "SERVING"
}
Usage of ./server:
--app-name string The name of the application. (default "app")
--bind-address ip The IP address to listen at. (default 127.0.0.1)
--bind-port uint The port to listen at. (default 50051)
--env-name string The environment of the application. Used to load the right configs file. (default "local")
--graceful-timeout uint Timeout for graceful shutdown. (default 30)
--health-bind-address ip The IP address to listen at. (default 127.0.0.1)
--health-bind-port uint The port to listen at. (default 50052)
--log-level string The granularity of log outputs. Valid log levels: 'panic', 'fatal', 'error', 'warn', 'info', 'debug' and 'trace'. (default "info")
--log-output string The output to write to. 'stdout' means log to stdout, 'stderr' means log to stderr. (default "stdout")
--log-writer string The log writer. Valid writers are: 'console' and 'json'. (default "console")
make build-docker
make run-docker