Camembert cheese

After 4 months of development, we are proud to announce the second release of Traefik: version 1.1.0, codename camembert.

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 :)

Constraints

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.

Mesos backend

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!

Why not Saint-Nectaire?

Session affinity

Long awaited sticky sessions are now supported thanks to owen! Use them with caution ;)

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.

Experimental builds

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:

containous/traefik:experimental

A specific PR image will also be pushed at:

containous/traefik:pr-#

Grab the latest binary for Linux, Windows, Mac on Github or get the official Docker image!

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.

Finally, we are very pleased to announce that dtomcej and SantoDE just joined the maintainers team. Welcome on board!

We would love to hear your feedback on this new release. Join us on GitHub, Twitter or on the Community Forum!

Edit 12/29/2016:

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.