Timo Reimann
4387cf38d7
Close ring buffer used in throttling function.
2017-12-06 14:54:03 +01:00
Fernandez Ludovic
0472d19bd4
refactor: fix some code.
2017-12-05 19:40:04 +01:00
Fernandez Ludovic
ce6bbbaa33
feat: labels/annotations parser.
2017-12-05 19:40:04 +01:00
SALLEYRON Julien
e27e65eb76
Fix wrong defaultentrypoint and unexisting entrypoint issue
2017-11-30 16:10:02 +01:00
SALLEYRON Julien
40b3c17703
Fix metrics problem on multiple entrypoints
2017-11-30 12:18:03 +01:00
Lawrence Gripper
39c1cc1b3c
Add Service Fabric Provider
2017-11-27 14:26:04 +01:00
Ludovic Fernandez
011b748a55
Change server receiver name.
2017-11-24 19:18:03 +01:00
Michael
f6181ef3e2
Fix custom headers replacement
2017-11-23 17:40:03 +01:00
Fernandez Ludovic
66591cf216
Merge tag 'v1.4.4' into master
2017-11-23 15:21:47 +01:00
SALLEYRON Julien
bee8ebb00b
Resync oxy with original repository
2017-11-22 18:20:03 +01:00
Tait Clarridge
6d2f4a0813
Add health check label to ECS
2017-11-21 11:06:03 +01:00
Manuel Zapf
5d6384e101
redirect to another entryPoint per frontend
2017-11-18 13:50:03 +01:00
Ludovic Fernandez
1a4564d998
http.Server log goes to Debug level.
2017-11-18 01:10:03 +01:00
Marco Jantke
cdab6b1796
fix concurrent provider config reloads
2017-11-17 10:26:03 +01:00
NicoMen
4f4491c247
Allow adding optional Client CA files
2017-11-10 10:30:04 +01:00
SALLEYRON Julien
27d1b46835
Split Web into API/Dashboard, ping, metric and Rest Provider
2017-11-09 16:12:04 +01:00
NicoMen
c469e669fd
Make the TLS certificates management dynamic.
2017-11-09 12:16:03 +01:00
Aditya C S
00d7c5972f
Add InfluxDB support for traefik metrics
2017-11-08 15:14:03 +01:00
Tiscs Sun
5042c5bf40
Added ReplacePathRegex middleware
2017-10-30 12:54:03 +01:00
Fernandez Ludovic
a0c72cdf00
Merge v1.4.1 into master
2017-10-25 11:36:14 +02:00
Emile Vauge
de821fc305
fix healthcheck path
2017-10-23 15:48:03 +02:00
Ludovic Fernandez
81f7aa9df2
Regex capturing group.
2017-10-23 10:20:02 +02:00
Fernandez Ludovic
7192aa86b5
Merge 'v1.4.0' into master
2017-10-16 23:10:44 +02:00
Ludovic Fernandez
08503655d9
Backward compatibility for sticky
2017-10-16 17:38:03 +02:00
Ludovic Fernandez
aa308b7a3a
Add TrustForwardHeader options.
2017-10-16 12:46:03 +02:00
Ludovic Fernandez
8cb3f0835a
Stickiness cookie name.
2017-10-12 17:50:03 +02:00
Marco Jantke
871d097b30
Fix traefik logs to behave like configured
2017-10-11 10:38:03 +02:00
Fernandez Ludovic
9faae7387e
Merge tag 'v1.4.0-rc5' into master
2017-10-10 17:17:44 +02:00
Emile Vauge
6287a3dd53
Add trusted whitelist proxy protocol
2017-10-10 14:50:03 +02:00
SALLEYRON Julien
93a1db77c5
Move http2 configure transport
2017-10-10 12:14:03 +02:00
Ludovic Fernandez
a9d4b09bdb
Stickiness cookie name
2017-10-10 11:10:02 +02:00
Timo Reimann
8a67434380
Sanitize cookie names.
2017-10-05 12:14:03 +02:00
Fernandez Ludovic
cf508b6d48
Merge 'v1.4.0-rc4' into master
2017-10-02 17:18:24 +02:00
Ludovic Fernandez
5cc49e2931
bug
command.
2017-10-02 10:32:02 +02:00
Timo Reimann
1c98a9ad3e
Add request accepting grace period delaying graceful shutdown.
2017-09-26 10:22:03 +02:00
Fernandez Ludovic
d6ef8ec3d1
Merge branch 'v1.4' into master
2017-09-21 11:37:33 +02:00
Marco Jantke
52c1909f24
Fix deprecated IdleTimeout config
2017-09-20 18:14:03 +02:00
Fernandez Ludovic
2cbf9cae71
Merge tag 'v1.4.0-rc3' into master
2017-09-18 21:52:44 +02:00
Ludovic Fernandez
cb05f36976
Manage Headers for the Authentication forwarding.
2017-09-18 17:48:07 +02:00
Frédéric Logier
49e0e20ce2
fix healthcheck port
2017-09-18 15:50:03 +02:00
Marco Jantke
cf387d5a6d
Enable loss less rotation of log files
2017-09-15 15:02:03 +02:00
Ben Parli
d54417acfe
Rate limiting for frontends
2017-09-09 13:36:03 +02:00
Emile Vauge
3b6afdf80c
Fix error in prepareServer
2017-09-07 20:14:03 +02:00
Marco Jantke
dae7e7a80a
add RetryAttempts to AccessLog in JSON format
2017-08-28 12:50:02 +02:00
Emile Vauge
c8c31aea62
Add proxy protocol
2017-08-25 21:32:03 +02:00
SALLEYRON Julien
e0af17a17a
Refactor globalConfiguration / WebProvider
2017-08-25 16:10:03 +02:00
Luís Duarte
0d56a98836
Add support for Query String filtering
2017-08-24 20:28:03 +02:00
Marco Jantke
e6c2040ea8
Extract metrics to own package and refactor implementations
2017-08-23 20:46:03 +02:00
Michael
8765494cbd
Add support for several ECS backends
2017-08-22 11:46:03 +02:00
Emile Vauge
396449c07f
Add healthcheck command
2017-08-21 23:18:02 +02:00
Marco Jantke
14a0d66410
Add configurable timeouts and curate default timeout settings
2017-08-18 15:34:04 +02:00
Ludovic Fernandez
759c269dee
Code cleaning.
2017-08-18 02:18:02 +02:00
Richard Shepherd
4e5fcac9cb
Add log file close and reopen on receipt of SIGUSR1
2017-08-11 12:04:58 +02:00
Christoph Glaubitz
ff11467022
Bind healthcheck to backend by entryPointName
2017-08-10 18:00:31 +02:00
Alex Antonov
69c628b626
DataDog and StatsD Metrics Support
...
* Added support for DataDog and StatsD monitoring
* Added documentation
2017-07-21 00:26:43 +02:00
Marco Jantke
cd28e7b24f
fix GraceTimeOut description
...
Documentation stated that GraceTimeOut describes the timeout between
hot-reloads, which is not the case. GraceTimeOut describes the timeout
Traefik uses to finish serving active requests before stopping only.
2017-07-20 23:42:43 +02:00
Fernandez Ludovic
40d9058bb6
refactor: migration Negroni from codegangsta to urfave
2017-07-20 15:19:15 +02:00
Fernandez Ludovic
c36e0b3b06
refactor: add Safe everywhere is needing.
2017-07-20 14:59:54 +02:00
Marco Jantke
074b31b5e9
respond with 503 on empty backend
2017-07-19 19:28:24 +02:00
Marco Jantke
58ffea6627
extract lb configuration steps into method
2017-07-10 19:18:31 +02:00
Christophe Robin
759a19bc4f
Add whitelist configuration option for entrypoints
...
* Add whitelist configuration option for entrypoints
* Add whitelist support to --entrypoint flag
2017-07-08 12:21:14 +02:00
Timo Reimann
a89eb122a0
Clarify that provider-enabling argument parameters set all defaults.
2017-07-06 17:00:44 +02:00
Ben Parli
121c057b90
Custom Error Pages ( #1675 )
...
* custom error pages
2017-07-01 01:04:18 +02:00
Julien Salleyron
81d011e57d
Handle RootCAs Certificate
2017-06-30 14:56:55 +02:00
Martin Baillie
9cb07d026f
Refactor into dual Rancher API/Metadata providers
...
Introduces Rancher's metadata service as an optional provider source for
Traefik, enabled by setting `rancher.MetadataService`.
The provider uses a long polling technique to watch the metadata service and
obtain near instantaneous updates. Alternatively it can be configured to poll
the metadata service every `rancher.RefreshSeconds` by setting
`rancher.MetadataPoll`.
The refactor splits API and metadata service code into separate source
files respectively, and specific configuration is deferred to
sub-structs.
Incorporates bugfix #1414
2017-06-20 19:08:53 +02:00
Martin Baillie
447109e868
Add HTTP HEAD handling to /ping endpoint
...
Also updates documentation to reflect new method.
2017-06-20 11:40:14 +02:00
Marco Jantke
f79317a435
retry only on real network errors
...
Now retries only happen when actual network errors occur and not only
anymore based on the HTTP status code. This is because the backend could
also send this status codes as their normal interface and in that case
we don't want to retry.
2017-06-19 20:13:46 +02:00
Marco Jantke
885b9f371c
enable logging to stdout for access logs
2017-06-13 23:43:38 +02:00
Daniel Tomcej
f275e4ad3c
Create Header Middleware
2017-06-13 12:34:17 +02:00
Alex Antonov
7d6c778211
Enhanced flexibility in Consul Catalog configuration
2017-06-12 21:18:55 +02:00
Drew Wells
3048509807
enable TLS client forwarding
...
Copys the incoming TLS client certificate to the outgoing
request. The backend can then use this certificate for
client authentication ie. k8s client cert authentication
2017-06-11 15:24:29 +02:00
Fernandez Ludovic
a1a0420314
test: use MustNewRequest.
2017-06-09 23:55:49 +02:00
Fernandez Ludovic
63f9bccf9f
refactor: fix typos.
...
refactor: typo in whitelister file name.
2017-06-09 23:55:49 +02:00
Richard Quintin
a71d69cc3c
make the cookie name unique to the backend being served
2017-06-07 20:18:16 +02:00
Marco Jantke
e007bb7546
add metrics for backend_retries_total
2017-06-07 08:56:50 +02:00
Richard Shepherd
a9216e24f5
Add JSON as access logging format
2017-06-06 16:26:22 +02:00
Fernandez Ludovic
b6c5c14447
refactor: Enhance rules tests.
...
- refactor: change incorrect package.
- refactor: test readability.
2017-05-31 10:34:00 +02:00
Fernandez Ludovic
cbccdd51c5
refactor: Logs & errors review.
...
- log & error: remove format if not necessary, add if necessary.
- add constants for k8s annotations.
- fix typos
2017-05-30 23:33:27 +02:00
Richard Shepherd
64e8b31d49
Switch access logging to logrus
2017-05-24 14:20:42 +02:00
MaZderMind
5f0b215e90
IP Whitelists for Frontend (with Docker- & Kubernetes-Provider Support)
2017-05-19 15:19:29 +02:00
Emile Vauge
f8ea19d29c
Merge branch 'v1.3' into merge-v1.3.0-rc2-master
2017-05-17 11:44:53 +02:00
Timo Reimann
f9839f7b1d
Turn configureBackends into method.
2017-05-16 00:06:42 +02:00
Timo Reimann
2c45428c8a
Maintain sticky flag on LB method validation failure.
...
We previously did not copy the sticky flag if the load-balancer
method validation failed, causing enabled stickiness to be dropped in
case of a validation error (which, technically, for us is the same as a
load-balancer configuration without an explicitly set method). This
change fixes that.
A few refactorings and improvements along the way:
- Move the frontend and backend configuration steps into separate
methods/functions for better testability.
- Include the invalid method name in the error value and avoid log
duplication.
- Add tests for the backend configuration part.
2017-05-16 00:06:42 +02:00
Alex Antonov
3f68e382fd
Fixed ReplacePath rule executing out of order, when combined with PathPrefixStrip #1569
2017-05-15 10:08:18 -05:00
Emile Vauge
eaedc1b924
Fix empty basic auth
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-05-15 16:03:46 +02:00
Emile Vauge
111251da05
Adds Panic Recover middleware
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-05-15 09:17:33 +02:00
Fernandez Ludovic
d2c8824902
refactor: restore "First stage of access logging middleware."
...
This reverts commit 82651985c4
.
2017-05-11 16:27:13 +02:00
Emile Vauge
e7a73d3fb3
Fix too many redirect
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-05-03 22:53:58 +02:00
Adam Geiger
138fea17ed
Fix redirect empty backend
...
Issue-#679
2017-05-03 22:53:58 +02:00
Emile Vauge
ec245d604a
Fix postLoadConfig
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-05-03 22:53:58 +02:00
Emile Vauge
82651985c4
Revert "First stage of access logging middleware. Initially without any output appenders."
...
This reverts commit 73a1b172ed
.
2017-05-03 17:30:31 +02:00
Matthew Kelch
44db6e9290
mprove Rancher provider functionality:
...
- Improves default filtering behavior to filter by container health/healthState
- Optionally allows filtering by service health/healthState
- Allows configuration of refresh interval
2017-04-29 15:37:54 -04:00
Timo Reimann
25345427c3
Add global health check interval parameter.
...
The new parameter allows to set a health check interval valid for all
backends. Custom values set per provider may override the global one.
2017-04-28 20:51:29 +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
Stéphane Seguin
bf3673879f
Fix regex with PathStrip
2017-04-28 17:33:14 +02:00
ssttevee
aa8375e82b
added path replacement rule
2017-04-26 23:33:32 -07:00
Emile Vauge
af1d0a7dce
Fix Consul catalog prefix flags
...
Signed-off-by: Emile Vauge <emile@vauge.com>
2017-04-25 10:51:03 +02:00
Fernandez Ludovic
f4579e5f12
refactor: clean code
...
- remove dead code
- replace Fprintf by Fprint.
2017-04-24 10:04:57 +02:00
Richard Shepherd
73a1b172ed
First stage of access logging middleware. Initially without any output appenders.
2017-04-23 00:46:45 +02:00
Vincent Demeester
7fcb7b86d3
Extract some code in packages
...
- This will help split stuff in smaller, better tested packages
- This moves some stuff like the traefik command to package `cmd`
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-04-20 10:06:41 +02:00