TLS termination and reverse reverse proxying daemon
Go to file
Cadey Ratio e3238c19c3 remove route-runmigraions 2018-02-20 23:21:56 -08:00
bin build files to a directory named bin 2017-09-30 06:56:09 -07:00
cmd remove route-runmigraions 2018-02-20 23:21:56 -08:00
doc doc: new document on the theory of routed, incomplete 2018-01-17 08:45:14 -08:00
internal add dmigrations 2018-02-20 23:20:46 -08:00
plugins/autohttpagent plugins/autohttpagent: retry everything 2017-10-06 16:26:19 -07:00
proto move some tools into a new contrib repo 2018-01-27 08:41:04 -08:00
run mage: streamline dockerfiles 2018-01-21 12:58:52 -08:00
vendor move some tools into a new contrib repo 2018-01-27 08:41:04 -08:00
.dockerignore cmd/construct: load command handlers from bindata 2018-01-21 23:26:56 -08:00
.gitignore database: move to internal/ 2017-09-30 06:56:54 -07:00
Dockerfile move some tools into a new contrib repo 2018-01-27 08:41:04 -08:00
Gopkg.lock move some tools into a new contrib repo 2018-01-27 08:41:04 -08:00
Gopkg.toml dep: update deps 2018-01-21 21:31:33 -08:00
LICENSE Add license 2017-01-19 17:20:20 -08:00
README.md Update README 2018-01-17 08:45:02 -08:00
mage.go move some tools into a new contrib repo 2018-01-27 08:41:04 -08:00
mage_helpers.go vendor: update eclier 2018-01-21 22:08:38 -08:00

README.md

Route

Route is a load balancer that has backends connect to the load balancer instead of the load balancer connecting to backends. This model allows networks to be vastly simplified, no longer having to bring in consul or another consensus layer, no more configuration generation or rehashing nginx on each deploy.

About

Project Stability: Alpha (don't use this in production yet)

This project is a passion project, as such excuse the atypical setup for everything. If you have ideas on how to improve things, please open an issue, comment on existing issues or hit me up in a private message somewhere. I want route to be the easiest possible way to host services of all sizes.

Constraints

Constraints I am putting on myself right now:

  • Use Go as much as possible and where it makes sense use other tools
  • Create solutions using experience from the "old way" of doing things to categorically eliminate problems
  • Make solutions as robust and fault-tolerant wherever possible as soon as possible
  • Don't waste resources if you don't have to
  • Always clean things up eventually
  • If you have to fail, fail loudly
  • Don't be too clever
  • It's ${CURRENT_YEAR}, only allow TLS connections except where absolutely required

Build

Route uses mage for building it and its dependencies. For convenience, a copy of mage is vendored as ./cmd/mage/main.go. You can install this to your machine if you want.

$ go run ./cmd/mage/main.go tools
$ go run ./cmd/mage/main.go build

Quickstart

See quickstart docs.

Support

Please contact me to get support with this project.

Donations

Throw me a ko-fi or contact me for other donations.