The full changelog is quite huge but here are some new features we want to highlight:
Swarm mode support
In v1.12, Docker introduced swarm mode, for natively managing a cluster of Docker engines. Traefik is now able to connect to a swarm manager and will discover all services deployed on the swarm. Thank you diegofernandes for your work :)
samber initiated the addition of constraints, that limits Traefik scope to a smaller number of routes. It allows to easily deploy multiple instances with specific roles.
Let’s give an example and add this line to our TOML configurations:
# traefik instance 1 constraints = [“tag==eu-*”, “tag==asia-*”] # traefik instance 2 constraints = [“tag==us-*”]
The instance 1 will now route services tagged with eu-* or asia-* (i.e. eu-backend, eu-frontend, asia-data…) and the instance 2, services tagged with us-*.
You can use Docker labels, Marathon labels or Consul Catalog tags to tag your services. For example, let’s deploy a new Docker application and tag it:
docker run -d -l traefik.tags=eu-frontend emilevauge/whoami
This application will be taken into account by traefik instance 1 and ignored by instance 2.
PierreLeresteux & skydjol made a great pull request adding universal Mesos support to Traefik. In addition to Marathon, Traefik can now be used with any Mesos framework (i.e. Chronos, Aurora, custom…). And yeah, the v1.1 codename is camembert because of those Normans guys!
Cluster mode (experimental)
Traefik now has a cluster mode, which allows to deploy multiple instances sharing the same configuration. To do that without copying the same configuration file on each instance, Traefik uses a distributed Key-Value store (Etcd, Consul supported). What is great with cluster mode is that it works with Let’s Encrypt, using the Key-Value database to store the TLS certificates. Cluster mode is available in this release as an experimental feature.
Official Alpine image
In addition to the official “from scratch” Docker image, there is now an official Alpine image tagged v1.1.0-alpine, camembert-alpine. This can be useful to get a shell access to a Traefik container for debugging purpose.
For those who want to test bleeding edge features, we introduced experimental builds. Each time a pull request is merged into master branch, a docker image will be pushed at:
A specific PR image will also be pushed at:
docker pull traefik:v1.1.0 docker pull traefik:v1.1.0-alpine docker pull traefik:camembert docker pull traefik:camembert-alpine
The documentation can be found on http://docs.traefik.io.
We just pushed the first bug-fix release v1.1.1 which deals with Kubernetes and Swarm connection issues. The full changelog can be found here.