No description
docs | ||
middlewares | ||
providerTemplates | ||
script | ||
static | ||
templates | ||
tests | ||
.gitignore | ||
adapters.go | ||
build.Dockerfile | ||
circle.yml | ||
configuration.go | ||
consul.go | ||
docker.go | ||
Dockerfile | ||
file.go | ||
file_test.go | ||
generate.go | ||
LICENSE.md | ||
Makefile | ||
marathon.go | ||
provider.go | ||
README.md | ||
traefik.go | ||
traefik.sample.toml | ||
traefik.toml | ||
web.go |
Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker, Mesos/Marathon, Consul, Etcd, Rest API, file...) to manage its configuration automatically and dynamically (hot-reload).
Features
- No dependency hell, single binary made with go
- Simple json Rest API
- Simple TOML file configuration
- Multiple backends supported: Docker, Mesos/Marathon, Consul, Etcd, and more to come
- Watchers for backends, can listen change in backends to apply a new configuration automatically
- Hot-reloading of configuration. No need to restart the process
- Graceful shutdown http connections during hot-reloads
- Rest Metrics
- Tiny docker image included
- SSL backends support
- SSL frontend support
Plumbing
- Oxy: an awsome proxy library made by Mailgun guys
- Gorilla mux: famous request router
- Negroni: web middlewares made simple
- Graceful: graceful shutdown of http.Handler servers
Quick start
./traefik traefik.toml
- Use the tiny Docker image:
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/traefik.toml emilevauge/traefik