route/README.md

53 lines
1.8 KiB
Markdown
Raw Normal View History

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.