Truss helps you build go-kit microservices without having to worry about writing or maintaining boilerplate code.
Перейти к файлу
Adam Ryman 78d2ce7eaa Major truss refactor
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
2016-08-17 19:26:35 -07:00
gendoc Major truss refactor 2016-08-17 19:26:35 -07:00
gengokit Major truss refactor 2016-08-17 19:26:35 -07:00
protoc-gen-truss-protocast Major truss refactor 2016-08-17 19:26:35 -07:00
truss Major truss refactor 2016-08-17 19:26:35 -07:00
vendor Add `github.com/pkg/errors` to vendored packages 2016-08-08 14:08:56 -07:00
.gitignore Remove and exclude breaking vendored files 2016-08-01 16:28:33 -07:00
DEVELOPING.md Add initial development documentation 2016-08-02 14:38:15 -07:00
Dockerfile Add Dockerfile v1 plus CGO_ENABLE=0 for compiling on alpine 2016-07-19 17:54:22 -07:00
LICENSE.md Add license file 2016-08-01 14:40:35 -07:00
README.md Add initial development documentation 2016-08-02 14:38:15 -07:00
glide.lock Add `github.com/pkg/errors` to vendored packages 2016-08-08 14:08:56 -07:00
glide.yaml Vendor truss dependencies into the repo 2016-08-01 12:27:45 -07:00

README.md

Truss

Truss handles the painful parts of microservices, freeing you to focus on the business logic.

Everything all the time forever

Install

Currently, there is no binary distribution of Truss, you must install from source.

To install this software, you must:

  1. Install the standard C++ implementation of protocol buffers from https://developers.google.com/protocol-buffers/
  2. 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
  3. Install the protoc-gen-go and proto packages for Go. The simplest way is to run go 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.
  4. Install the gRPC: $ go get -u google.golang.org/grpc
  5. 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