Commit graph

203 commits

Author SHA1 Message Date
Emile Vauge 462d8b3e74
Fix Docker & KV templates for sticky
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-09-30 10:57:55 +02:00
Emile Vauge 291c3b6dbc
Fix sticky sessions Docker/Marathon labels 2016-09-30 10:56:47 +02:00
Owen Marshall c9d4c5ae3e
Fix Docker integration problems 2016-09-30 10:56:17 +02:00
Owen Marshall be5b1fd92b
docs, sticky session for Docker 2016-09-30 10:56:17 +02:00
Owen Marshall dc52abf4ce
Add sticky session support to Traefik.
This change adds sticky session support, by using the new
oxy/rr/StickySession feature.

To use it, set traefik.backend.sticky to true.

This is currently only implemented in the wrr load balancer, and against
the Marathon backend, but lifting it should be very doable.

In the wrr load balancer, a cookie called _TRAEFIK_SERVERNAME will be
set with the backend to use.  If the cookie is altered to an invalid
backend server, or the server is removed from the load balancer, the
next server will be used instead.

Otherwise, the cookie will be checked in Oxy's rr on access and if valid
the connection will be wired through to it.
2016-09-30 10:56:17 +02:00
Samuel BERTHE ced69b8397
refacto(constraint-kv): Move constraint checking out of template 2016-09-21 14:33:45 +02:00
Samuel BERTHE 013808956c
feat(constraints): Supports kv stores backends 2016-09-21 14:33:45 +02:00
Bruce Lee f7f17f0057 enable consul catalog to use maxconn 2016-09-15 12:11:37 -04:00
Bruce Lee 99ca5d0a03 Add ability for marathon provider to set maxconn values
Initial implementation: Force both to be present to trigger behavior.

add ability to see rendered template in debug

add support for loadbalancer and circuit breaker specification

add documentation for new configuration
2016-09-14 16:52:02 -04:00
Bruce Lee d89bdfbd27 Add backend features to docker 2016-09-14 14:51:31 -04:00
Phil Kates 79dd72f53d
Prioritize kubernetes routes by path length
The Kubernetes provider wasn't setting priorities which was causing
shorter paths to get chosen before longer ones. This now matches the
[documentation](https://github.com/containous/traefik/blob/master/docs/basics.md#priorities)
2016-08-03 11:37:22 -07:00
julien 5afcf17706 add mesos provider inspired by mesos-dns & marathon provider 2016-07-20 11:56:14 +02:00
Emile Vauge 15e04bb55d
Fix consul catalog issue with dot in serviceName
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-06-23 16:33:54 +02:00
Emile Vauge f4cb4bb1b8
Add routes priorities in providers
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-06-07 09:18:37 +02:00
Erin Dachtler df7e1cf078 Squashed commit of the following:
commit 468cdf5c74b8df80fe6cc093feda84d124d47460
Author: Erin Dachtler <download333@gmail.com>
Date:   Mon May 30 17:21:50 2016 -0700

    Documentation update

commit bcbe622141fc333579177e056b49d418997c511d
Author: Erin Dachtler <download333@gmail.com>
Date:   Sat May 28 15:32:34 2016 -0700

    Whoops, forgot to fmt

commit 1ad5f1052541372722adc372069da094b422c793
Author: Erin Dachtler <download333@gmail.com>
Date:   Sat May 28 14:56:04 2016 -0700

    Added getIPAddress helper for docker template, and tests
2016-05-31 22:11:17 -07:00
Marcus Stong be209ed30c #216: sets passHostHeader to true by default (#351) 2016-05-10 13:43:24 +02:00
Poney baker 378a261e64 feat(consul-provider): If Service.Address is nil then use Node.Address
test(consul-catalog): Test on backend-name and backend-address
2016-04-27 21:09:42 +02:00
Emile Vauge c0dd4c3209
Add unit test
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-04-22 13:57:00 +02:00
Emile Vauge d82e1342fb
Fix integration test
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-04-22 13:57:00 +02:00
emile 720912e880
Add kubernetes Ingress backend
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-04-22 13:57:00 +02:00
kevin a15578a8f6 Add support for maximum connections for backends. 2016-04-13 09:37:11 -07:00
Emile Vauge a9e615b3c7 Fix period in frontend name in KV store 2016-04-13 14:56:51 +02:00
Samuel BERTHE 4f044cf2f9 feat(consul-catalog-provider): + setting unique backend name + backend redirecting to internal container ip 2016-04-13 08:05:44 +02:00
Emile Vauge 8737530a7d
Refactor frontends rules
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-03-31 13:11:07 +02:00
Emile Vauge defbb44b35 Fix docker network
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-03-01 11:52:30 +00:00
David Keijser ae275c9e60 Consul catalog provider
Fixes #176
2016-02-24 09:23:27 +01:00
emile c6c3af8099
Fix regression on marathon backend
Signed-off-by: emile <emile@vauge.com>
2016-02-12 15:03:28 +01:00
emile a8cc26fd91
Add entrypoints to providers 2016-02-10 12:14:16 +01:00
Graham Taylor 2d79c500df Fix #170 - lookup backend for marathon plugin so we can specify traefik.backend via labels on the container 2016-02-05 18:01:47 +00:00
Dylan Meissner cfbd43d1ee Marathon provider uses port or portIndex from label. 2016-01-12 06:46:29 -08:00
Dylan Meissner a9925c7521 The included Marathon tmpl converts multiple slashes in Marathon app names to dashes. 2015-12-05 10:02:39 -08:00
emile e728f32a15 Removes getBool from kv provider, fixes https://github.com/emilevauge/traefik/issues/117 2015-12-04 09:28:43 +01:00
emile 6e62625ebf Add GetBool function in KV provider, used by passHostHeader 2015-11-22 23:39:43 +01:00
Benny Hansson e90cb6b53b Add passHostHeader to frontend definition. 2015-11-16 22:51:52 +01:00
emile 1e99ecf583 Add passHostHeader in frontend configuration, added traefik.frontend.passHostHeader label 2015-11-02 08:40:54 +01:00
emile aaeb7cdffd Correct BoltDB backend. Fixes #68 2015-10-23 22:21:16 +02:00
emile d671cc3821 Adds traefik.frontend. rule and value labels in Docker and Marathon. Fixes #64. Fixes #73 2015-10-23 17:46:50 +02:00
emile 5dea2e7902 Remove providerTemplates dir, moved in templates 2015-10-23 17:46:50 +02:00
Fernandez Ludovic 781c6aaafa feat(api): add api routes for Frontend Routes
- add `/api/providers/{provider}/frontends/{frontend}/routes`
- add `/api/providers/{provider}/frontends/{frontend}/routes/{route}`
2015-10-08 21:44:29 +02:00
emile 93b5410987 libkv support https://github.com/EmileVauge/traefik/issues/25 https://github.com/EmileVauge/traefik/issues/9 2015-10-02 11:36:16 +02:00
Thorhallur Sverrisson a07e395181 Refactoring REST API to handle multiple providers.
I changed what I think is needed and I have done manual testing on this.

I tried to keep the changes to a minimun.

The changes are approx:

* HTML output now includes the provider name in parenthesis.
  * I'm not versed in bootstrap, should the output group providers in a
  * table?
* PUT is only enabled on /api/web.
* GET on /api returns a map containing all providers configuration
* GET on /api/{provider} will return the config as before on that
* provider.
2015-09-23 11:45:18 +00:00
emile 0bdd537fb4 Configuration on cicuitbreakers and load balancers 2015-09-28 23:16:32 +02:00
emile bb12e1c48c URL case corrections 2015-09-24 22:17:40 +02:00
emile ef9e773b9f refactor rules, api enhancements 2015-09-15 18:35:32 +02:00
emile a4f542c02f refactor rules -> routes, routes -> frontends 2015-09-15 16:09:21 +02:00
emile e017e4906e config template, backends 2015-09-14 15:38:58 +02:00
emile ee13d570d8 Weights 2015-09-11 09:59:29 +02:00
emile e2d2f1f1d1 Traefik 2015-09-10 16:46:27 +02:00
emile 46ef489b03 NotFoundHandler 2015-09-10 15:13:35 +02:00
emile be179e6b68 Server url 2015-09-10 09:04:42 +02:00
emile 6f8f3e449d refactoring unique backend by route 2015-09-09 17:41:33 +02:00
emile 730fbfe9c5 docker override port, host, backend
reuse loadbalancer
2015-09-09 16:49:51 +02:00
emile d3071ca110 web provider renderer 2015-09-09 10:29:49 +02:00