Bruce Lee
aa75d5458d
Revert "Ensure that we don't add balancees with no health check runs if there is a health check defined on it"
...
This reverts commit ad12a7264e
.
2017-03-06 17:45:58 +01:00
Christophe Robin
4172a7c62e
Add task parser unit test for docker provider
2017-03-06 17:45:58 +01:00
Christophe Robin
355b4706d3
Fix docker issues with global and dead tasks
2017-03-06 17:45:58 +01:00
Manuel Laufenberg
eb1ffae01b
Small fixes and improvments
2017-03-06 17:45:58 +01:00
Luke Petre
c786bbbc5b
Try harder to query all the possible ec2 instances, and filter on instance state / lack of IP address
2017-03-06 17:45:58 +01:00
Regner Blok-Andersen
f530284031
Adding support for Traefik to respect the K8s ingress class annotation ( #1182 )
2017-03-03 20:30:22 +01:00
Timo Reimann
f3598e6b0f
Refactor k8s rule type annotation parsing/retrieval.
...
- Move annotation logic into function.
- Constantify strings.
- Refactor TestRuleType.
- Add test for GetRuleTypeFromAnnotations.
2017-03-03 13:33:00 +01:00
Regner Blok-Andersen
1e10fc2e30
Simplifying else if statement to be cleaner
2017-02-14 14:57:09 -08:00
Regner Blok-Andersen
c8cf5f8c44
Added a test to make sure passing an invalid value to traefik.frontend.passHostHeader results in falling back correctly.
2017-02-14 11:54:27 -08:00
Regner Blok-Andersen
96e6c9cef2
Split the if/or statement when requesting endpoints from the k8s service so that it now provides two unique log statements.
2017-02-14 11:53:35 -08:00
Regner Blok-Andersen
931ee55e1d
Added default case for PassHostHeader that logs a warning.
2017-02-14 11:52:54 -08:00
Regner Blok-Andersen
4d3aede5d3
Added tests for ingress passHostHeader annotation
2017-02-10 03:27:30 -08:00
Regner Blok-Andersen
0b1dd69b01
Added support for passHostHeader annotation on ingresses
2017-02-10 03:05:59 -08:00
Regner Blok-Andersen
0947aa901e
Initial support for Kubernetes ExternalName service type
2017-02-09 17:25:38 -08:00
Manuel Laufenberg
3a875e2954
add default config
...
lint files
2017-02-06 17:03:43 +01:00
Manuel Laufenberg
bdb63ac785
add watch function
2017-02-06 17:03:43 +01:00
Manuel Laufenberg
9a5dc54f85
add some unit tests
...
fmt & lint
2017-02-06 17:03:41 +01:00
Manuel Laufenberg
48524a58ff
fix all containers - no matter of pagination
...
fmt & lint
2017-02-06 17:03:38 +01:00
Manuel Laufenberg
38bd49b97e
add dependency, start provider and fetch data
...
add tons of labels
Provide - WIP
add rancher data over rancher types
first version of direct fetch - pagination still an issue
2017-02-06 17:02:53 +01:00
WTFKr0
41f8f0113b
Replace underscores to dash in autogenerated urls (docker provider)
...
Signed-off-by: WTFKr0 <thomas.kovatchitch@gmail.com>
2017-02-06 15:38:18 +01:00
Mike Foley
e0a4c58081
Added service name to dockerData struct.
...
In Swarm mode with with Docker Swarm’s Load Balancer disabled (traefik.backend.loadbalancer.swarm=false)
service name will be the name of the docker service and name will be the container task name
(e.g. whoami0.1). When generating backend and fronted rules, we will use service name instead of name if a
rule is not provided.
Initialize dockerData.ServiceName to dockerData.Name to support non-swarm mode.
2017-02-06 14:44:25 +01:00
Mike Foley
d2b47a5681
Support sticky sessions under SWARM Mode.
...
SWARM Mode has it's own built in Load balancer, so if we want to leverage sticky sessions,
or if we would just prefer to bypass it and go directly to the containers (aka tasks), via
--label traefik.backend.disable.swarm.loadbalancer=true
then we need to let Traefik know about the underlying tasks and register them as
services within it's backend.
2017-02-06 14:44:25 +01:00
Luke Petre
8d3c77a0b9
Add an ECS provider
2017-02-05 18:09:30 +00:00
Stefan Scherer
434596b103
Fix Docker API version for Windows
...
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2017-02-04 16:44:10 +01:00
Diego de Oliveira
cbbb5f4ccb
Fix marathon provider
...
The IP-Per-Task PR introduced a bug using the marathon application
port mapping. This port should be used only in the proxy server, the
downstream connection should be always made with the task port.
This commit fix the regression and adds a unit test to prevent new
problems in this setup.
2017-02-04 16:05:35 +01:00
Brian Akins
225dbcce0a
Allow setting circuitbreaker expression via Kubernetes annotation ( #1056 )
2017-02-03 17:47:48 +01:00
Bruce Lee
ad12a7264e
Ensure that we don't add balancees with no health check runs if there is a health check defined on it
...
Change test behavior
2017-02-03 08:45:15 -05:00
Emile Vauge
54be6beaab
Lint files
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-02-03 09:55:47 +01:00
Emile Vauge
5a67d0ac84
Fix panic in k8s loadIngresses
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-02-03 09:46:27 +01:00
Emile Vauge
be362f0d9f
Add Operation with recover
2017-02-03 09:46:27 +01:00
Brian Akins
490427f94d
Allow setting load balancer method and sticky using service annotations
2017-02-02 14:03:39 +00:00
Timo Reimann
3a7de0be5c
Add missing fmt verb specifier in k8s provider.
2017-01-26 11:05:13 +01:00
Adam Stankiewicz
d15a17b634
Allow for wildcards in k8s ingress host, fixes #792 ( #1029 )
2017-01-20 14:16:05 +01:00
Diego de Oliveira
d74ea22d7d
IP-per-task: ( #841 )
...
Support IP per task with marathon/mesos
2017-01-06 16:26:50 +01:00
Vincent Demeester
8a348423ae
Import order as goimports does
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-12-30 19:04:02 +01:00
Julien Salleyron
d469d426f8
Remove useless func in FuncMaps
2016-12-08 20:44:13 +01:00
Julien Salleyron
ec05fbcf19
feat: Add defaultFuncMap to template
2016-12-08 20:44:13 +01:00
Yves Peter
fc788eb426
Kubernetes: cleanup channel handling
...
Only use one channel for all watches
Re-use stop channel from the provider
Skip events that have already been handled by the provider, builds on 007f8cc48ea9504bb7754c5e3244124be422f47d
2016-12-07 20:12:14 +01:00
Phil Kates
87eac1dc1a
Fix deadlock in k8s provider
...
On a reasonably sized cluster:
63 nodes
87 services
90 endpoints
The initialization of the k8s provider would hang.
I tracked this down to the ResourceEventHandlerFuncs. Once you reach the
channel buffer size (10) the k8s Informer gets stuck. You can't read or
write messages to the channel anymore. I think this is probably a lock
issue somewhere in k8s but the more reasonable solution for the traefik
usecase is to just drop events when the queue is full since we only use
the events for signalling, not their content, thus dropping an event
doesn't matter.
2016-12-07 20:12:14 +01:00
Emile Vauge
dca08af003
Merge v1.1.1 into master
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-12-06 08:44:23 +01:00
Yves Peter
9236a43a4d
kubernetes: moved doc of client to the interface
2016-11-30 19:25:22 +01:00
yvespp
7f4eddf6d6
k8s: changed debug log, removed unneeded stop channels, increased watch channel buffer
2016-11-30 19:16:48 +01:00
Yves Peter
0b78375211
Kubernetes client: set resync period to 5 minutes for more robustness
2016-11-30 19:16:48 +01:00
Yves Peter
15540764a0
Switched Kubernetes provider to new client implementation: https://github.com/kubernetes/client-go
2016-11-30 19:16:48 +01:00
Emile Vauge
841be8d806
Fix Swarm panic
2016-11-28 16:46:37 +01:00
Ryan Leary
055cd01bb7
Fix GroupsAsSubDomains option for Mesos and Marathon ( #868 )
...
* Fix GroupsAsSubDomains option for Mesos and Marathon
* Refactor reverseStringSlice function
2016-11-28 14:59:08 +01:00
Emile Vauge
926eb099f1
Fix k8s client panic
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2016-11-24 19:19:10 +01:00
Alexander Block
b4ea68b88a
Fix missing value for k8s watch request parameter ( #874 )
...
Fixes: 732
2016-11-23 23:21:09 +01:00
WTFKr0
2bf9acd95e
Normalize backend even if is user-defined ( #865 )
...
Signed-off-by: WTFKr0 <thomas.kovatchitch@gmail.com>
2016-11-23 21:31:37 +01:00
Kristian Klausen
a8cb905255
consul/kv.tmpl: weight default value should be a int ( #826 )
...
* consul/kv.tmpl: weight default value should be a int
Fix #821
* Use 0 as default weight in all backends
2016-11-23 14:49:55 +01:00