Commit graph

48 commits

Author SHA1 Message Date
Jean-Baptiste Doumenjou 8627256e74 Remove Deprecated Step 1 2018-07-31 19:28:03 +02:00
Jean-Baptiste Doumenjou 9ce444b91a Don't pass the Authorization header to the backends 2018-07-16 13:52:03 +02:00
Jean-Baptiste Doumenjou 79bf19c897 Auth support in frontends 2018-07-06 16:52:04 +02:00
Ludovic Fernandez df11e67bb4 Override health check scheme 2018-05-14 12:08:03 +02:00
Ludovic Fernandez b7d20496f3 Add SSLForceHost support. 2018-05-14 11:44:03 +02:00
Jesse Haka 1954a49f37 add http headers to healthcheck 2018-04-16 11:40:03 +02:00
Ludovic Fernandez c99266e961 Fix: error pages 2018-04-11 13:54:03 +02:00
Ludovic Fernandez 88b71d23db Several apps with same backend name in Marathon. 2018-04-04 12:28:03 +02:00
Ludovic Fernandez 0ea007b26f Segments Labels: Rancher & Marathon 2018-03-26 15:32:04 +02:00
Ludovic Fernandez d2766b1b4f Ability to use "X-Forwarded-For" as a source of IP for white list. 2018-03-23 17:40:04 +01:00
Ludovic Fernandez b001b0da86 Add some missing quotes in templates 2018-03-07 22:10:04 +01:00
Michael 1f6f8d5e0f New option in secure middleware 2018-03-02 14:24:03 +01:00
Ludovic Fernandez 58d6681824 Redirection: permanent move option. 2018-01-31 19:10:04 +01:00
Łukasz Harasimowicz a81171d5f1 Request buffering middleware 2018-01-31 15:32:04 +01:00
Ludovic Fernandez 870c0b5cf4 homogenization of templates: Marathon 2018-01-10 11:58:03 +01:00
Fernandez Ludovic c84fb9895e Merge branch 'v1.5' into master 2018-01-02 15:21:17 +01:00
Ludovic Fernandez e3d1201b46 Fix custom headers template 2018-01-02 09:42:03 +01:00
Fernandez Ludovic c1aefb8ad8 feat(marathon): add error pages and rate limits. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic 576e87f398 feat(marathon): add headers labels. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic b4f6bf0f6a feat(marathon): add frontend redirect labels. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic edc55aad3c feat(marathon): add whitelistSourceRange label. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic 38a3fe4316 feat(marathon): add PassTLSCert label. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic 81e3b2dd4c feat(marathon): add HealthCheck port label. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic 4524cdc151 refactor(marathon): template readability. 2017-12-26 12:46:03 +01:00
Fernandez Ludovic cee022b935 refactor(marathon): rewrite configuration system. 2017-12-05 19:40:04 +01:00
Alex Antonov 02035d4942 Missing Backend key in configuration when application has no tasks 2017-11-01 11:26:03 +01:00
Ludovic Fernandez 08503655d9 Backward compatibility for sticky 2017-10-16 17:38:03 +02:00
Ludovic Fernandez 8cb3f0835a Stickiness cookie name. 2017-10-12 17:50:03 +02:00
Ludovic Fernandez a9d4b09bdb Stickiness cookie name 2017-10-10 11:10:02 +02:00
Alex Antonov ec3e2c08b8 Support multi-port service routing for containers running on Marathon 2017-08-21 10:46:03 +02:00
Timo Reimann 779eeba650 [marathon] Use single API call to fetch Marathon resources.
Change Marathon provider to make just one API call instead of two per
configuration update by means of specifying embedded resources, which
enable retrieving multiple response types from the API at once. Apart
from the obvious savings in API calls, we primarily gain a consistent
view on both applications and tasks that allows us to drop a lot of
correlation logic.  Additionally, it will serve as the basis for the
introduction of readiness checks which require application/task
consistency for correct leverage on the proxy end.

Additional changes:

marathon.go:
- Filter on tasks now embedded inside the applications.
- Reduce/simplify signature on multiple template functions as we do not
  need to check for proper application/task correlation anymore.
- Remove getFrontendBackend in favor of just getBackend.
- Move filtering on enabled/exposed applications from `taskFilter` to
  `applicationFilter`. (The task filter just reached out to the
  applications anyway, so it never made sense to locate it with the
  tasks where the filter was called once for every task even though the
  result would never change.)
- Remove duplicate constraints filter in tasks, where it neither made
  sense to keep as it operates on the application level only.
- Add context to rendering error.

marathon_test.go:
- Simplify and reduce numerous tests.
- Convert tests with high number of cases into parallelized sub-tests.
- Improve readability/structure for several tests.
- Add missing test for enabled/exposed applications.
- Simplify the mocked Marathon server.

marathon.tmpl:
- Update application/task iteration.
- Replace `getFrontendBackend` by `getBackend`.
2017-07-11 14:35:01 +02:00
Matt Christiansen 4dfbb6d489 Add marathon label to configure basic auth, similar to docker and rancher providers 2017-07-07 23:36:04 +02:00
Timo Reimann d57f83c31c Make Traefik health checks label-configurable with Marathon.
For the two existing health check parameters (path and interval), we add
support for Marathon labels.

Changes in detail:

- Extend the Marathon provider and template.
- Refactor Server.loadConfig to reduce duplication.
- Refactor the healthcheck package slightly to accommodate the changes
  and allow extending by future parameters.
- Update documentation.
2017-04-28 18:17:25 +02:00
Diego de Oliveira d74ea22d7d IP-per-task: (#841)
Support IP per task with marathon/mesos
2017-01-06 16:26:50 +01:00
Emile Vauge 404a73a712
fIx marathon template with dots in ID 2016-10-13 15:33:23 +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
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
Emile Vauge f4cb4bb1b8
Add routes priorities in providers
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-06-07 09:18:37 +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 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 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
Renamed from providerTemplates/marathon.tmpl (Browse further)