2017-12-15 20:59:26 +00:00
|
|
|
# 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,
|
2018-01-17 16:45:02 +00:00
|
|
|
no more configuration generation or rehashing nginx on each deploy.
|
2017-12-15 20:59:26 +00:00
|
|
|
|
2018-01-17 16:45:02 +00:00
|
|
|
## About
|
2017-12-15 20:59:26 +00:00
|
|
|
|
2018-01-17 16:45:02 +00:00
|
|
|
Project Stability: Alpha (don't use this in production yet)
|
|
|
|
|
|
|
|
This project is a passion project, as such excuse the atypical setup for everything.
|
2017-12-15 20:59:26 +00:00
|
|
|
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.
|
|
|
|
|
2018-01-17 16:45:02 +00:00
|
|
|
### Constraints
|
|
|
|
|
2017-12-15 20:59:26 +00:00
|
|
|
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
|
2018-01-17 16:45:02 +00:00
|
|
|
- Make solutions as robust and fault-tolerant wherever possible as soon as possible
|
2017-12-15 20:59:26 +00:00
|
|
|
- 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
|
2018-01-17 16:45:02 +00:00
|
|
|
- It's ${CURRENT_YEAR}, only allow TLS connections except where absolutely required
|
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
|
|
Route uses [mage](http://magefile.org) 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.
|
|
|
|
|
|
|
|
```console
|
|
|
|
$ go run ./cmd/mage/main.go tools
|
|
|
|
$ go run ./cmd/mage/main.go build
|
|
|
|
```
|
|
|
|
|
|
|
|
## Quickstart
|
|
|
|
|
|
|
|
See [quickstart docs](https://git.xeserv.us/xena/route/src/master/doc/quickstart.md).
|
|
|
|
|
|
|
|
## Support
|
|
|
|
|
|
|
|
Please [contact me](https://christine.website/contact) to get support with this
|
|
|
|
project.
|
|
|
|
|
|
|
|
## Donations
|
|
|
|
|
|
|
|
Throw me a [ko-fi](https://ko-fi.com/christinedodrill) or contact me for other
|
|
|
|
donations.
|