Truss helps you build go-kit microservices without having to worry about writing or maintaining boilerplate code.
Перейти к файлу
Adam Ryman d3caffcf87 Merge pull request #70 from hasAdamr/refactor-protostage
Add -pbout flag for .pb.go out directory; Large refactor for pipeline changes.
2016-10-13 10:46:59 -07:00
deftree Polish based on PR comments 2016-10-13 10:43:18 -07:00
gendoc Restructure truss's output to new file structure 2016-09-16 12:03:59 -07:00
gengokit Polish based on PR comments 2016-10-13 10:43:18 -07:00
protoc-gen-truss-protocast Major truss refactor 2016-08-17 19:26:35 -07:00
truss Polish based on PR comments 2016-10-13 10:43:18 -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
.travis.yml Update integration tests with http transport 2016-10-06 16:33:06 -07:00
DEVELOPING.md Polish based on PR comments 2016-10-13 10:43:18 -07:00
Dockerfile Dockerfile cleanup: 2016-09-09 13:56:57 -07:00
LICENSE.md Add license file 2016-08-01 14:40:35 -07:00
Makefile Update Makefiles with suggestions 2016-10-06 20:10:34 -07:00
README.md Restructure truss's output to new file structure 2016-09-16 12:03:59 -07:00
USAGE.md Restructure truss's output to new file structure 2016-09-16 12:03:59 -07:00
glide.lock Add `github.com/pkg/errors` to vendored packages 2016-08-08 14:08:56 -07:00
glide.yaml Modify files for repo name change 2016-08-19 16:43:46 -07:00

README.md

Truss Build Status

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

Please note that Truss is currently pre-release software, and may change drastically with no notice. There is no versioning, no guarantees, no stability at this time. However, if you want to play around, make suggestions, or submit changes, we welcome issues and pull requests!

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/go-truss/...

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 NAME-service/ within your current directory where NAME is the package name of your service.

See USAGE.md for details

Developing

See DEVELOPING.md for details