GitHub - ankorstore/yokai-grpc-template: gRPC application template based on the Yokai Go framework. (original) (raw)

Yokai gRPC Template

License: MIT Go version Documentation

gRPC application template based on the Yokai Go framework.

Documentation

For more information about the Yokai framework, you can check its documentation.

Overview

This template provides:

Layout

This template is following the recommended project layout:

Makefile

This template provides a Makefile:

make up      # start the docker compose stack
make down    # stop the docker compose stack
make logs    # stream the docker compose stack logs
make fresh   # refresh the docker compose stack
make stubs   # generate gRPC stubs with protoc (ex: make stubs from=proto/example.proto)
make test    # run tests
make lint    # run linter

Getting started

Installation

With GitHub

You can create your repository using the GitHub template.

It will automatically rename your project resources and push them, this operation can take a few minutes.

Once ready, after cloning and going into your repository, simply run:

With gonew

You can install gonew, and simply run:

gonew github.com/ankorstore/yokai-grpc-template github.com/foo/bar cd bar make fresh

Usage

Once ready, the application will be available on:

If you update the proto definition, you can run make stubs from=proto/example.proto to regenerate the stubs.

Usage examples with gRPCurl:

grpcurl -plaintext -d '{"text":"hello"}' localhost:50051 example.ExampleService/ExampleUnary { "text": "response from grpc-app: you sent hello" }

grpcurl -plaintext -d '@' localhost:50051 example.ExampleService/ExampleStreaming <<EOF {"text":"hello"} {"text":"world"} EOF { "text": "response from grpc-app: you sent hello" } { "text": "response from grpc-app: you sent world" }

You can use any gRPC clients, for example Postman or Evans.