78d2ce7eaa
truss used to be composed of several protoc plugins, with lots of side effects. truss is now composed of one protoc plugin, protoc-gen-truss-protocout which outputs the output of protoc. This output, plus the .proto file with the service definition are used to create a doctree This doctree is then used by gendocs and gengokit to generate the microservice and documentation. This stucture has less side effects, and should be more testable |
||
---|---|---|
gendoc | ||
gengokit | ||
protoc-gen-truss-protocast | ||
truss | ||
vendor | ||
.gitignore | ||
DEVELOPING.md | ||
Dockerfile | ||
LICENSE.md | ||
README.md | ||
glide.lock | ||
glide.yaml |
README.md
Truss
Truss handles the painful parts of microservices, freeing you to focus on the business logic.
Install
Currently, there is no binary distribution of Truss, you must install from source.
To install this software, you must:
- Install the standard C++ implementation of protocol buffers from https://developers.google.com/protocol-buffers/
- Of course, install the Go compiler and tools from https://golang.org/. See https://golang.org/doc/install for details or, if you are using gccgo, follow the instructions at https://golang.org/doc/install/gccgo
- Install the
protoc-gen-go
andproto
packages for Go. The simplest way is to rungo get -u github.com/golang/protobuf/{proto,protoc-gen-go}
. The compiler plugin, protoc-gen-go, will be installed in$GOBIN
, defaulting to$GOPATH/bin
. It must be in your$PATH
for the protocol compiler, protoc, to find it. - Install the gRPC:
$ go get -u google.golang.org/grpc
- Install Truss with
$ go get -u github.com/TuneLab/gob/...
Usage
Using Truss is easy. You define your microservice in a protobuf file, and Truss uses that definition to create an entire microservice.
Once you've written the definition of your microservice, use the command $ truss {NAME_OF_PROTO_FILE}
to generate your microservice into a directory called
service/
within your current directory.
Developing
See DEVELOPING.md for details