Commit graph

1037 commits

Author SHA1 Message Date
Martin Vizvary
5814ba5322
Kubernetes ingress provider to search via all endpoints 2021-04-15 18:16:04 +02:00
Kevin Crawley
be81ce244e
Error span on 5xx only 2021-04-14 12:20:03 +02:00
Jean-Baptiste Doumenjou
cb4fb973b2 Merge current branch v2.4 into master 2021-03-31 09:43:04 +02:00
Tom Moulard
513f6e9a68
Remove error when HTTProutes is empty
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
2021-03-30 16:32:03 +02:00
jcuzzi
d13d078351
Add ability to disable HTTP/2 in dynamic config 2021-03-29 14:32:03 +02:00
Sylvain Rabot
31a5f3591f
Allow to define datadogs metrics endpoint with env vars 2021-03-23 17:48:04 +01:00
HMH
8947f85ddd
Improve host name resolution for TCP proxy 2021-03-23 11:24:03 +01:00
Romain
a513a05b7a
Raise errors for non-ASCII domain names in a router's rules 2021-03-22 21:16:04 +01:00
Tom Moulard
1e716a93ff
Adding an option to (de)activate Pilot integration into the Traefik dashboard
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
2021-03-22 19:18:04 +01:00
Manuel Zapf
29908098e4
Upgrade Ingress Handling to work with networkingv1/Ingress 2021-03-15 11:16:04 +01:00
Jean-Baptiste Doumenjou
08e6ae07af
Update to gateway-api v0.2.0
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2021-03-15 09:44:03 +01:00
Jean-Baptiste Doumenjou
702e301990 Merge current branch v2.4 into master 2021-03-09 12:05:08 +01:00
Ludovic Fernandez
09d5f59701
fix: double close chan on TLS challenge
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2021-03-08 11:18:04 +01:00
Julien Salleyron
3c8675bb8b
Fix flaky tests.
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-03-08 09:58:04 +01:00
Marc Vertes
e898080460
feature: tune transport buffer size to increase performance 2021-03-05 14:30:04 +01:00
Romain
bdba7d3adf
Update to go1.16 2021-03-04 20:08:03 +01:00
Ludovic Fernandez
2e7833df49
chore: update linter. 2021-03-04 09:02:03 +01:00
Jean-Baptiste Doumenjou
992d4c1b94
Upgrade the CRD version from apiextensions.k8s.io/v1beta1 to apiextensions.k8s.io/v1
Co-authored-by: kevinpollet <pollet.kevin@gmail.com>
2021-03-03 15:32:04 +01:00
Tom Moulard
e658712d53
Filter ingress class resources by name
Co-authored-by: SantoDE <manuel.zapf@traefik.io>
2021-03-02 21:34:03 +01:00
Julien Salleyron
dd0701dd16
fix: wait for file and internal before applying configurations
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-02-25 17:20:04 +01:00
romain
438eec720a Merge v2.4 into master 2021-02-22 09:40:24 +01:00
Manuel Zapf
bae28c5f57
Only allow iframes to be loaded from our domain 2021-02-18 14:54:03 +01:00
romain
1b21f0723f Merge v2.4 into master 2021-02-16 11:12:09 +01:00
Jean-Baptiste Doumenjou
951d61bfcd
Apply content type exclusion on response
Co-authored-by: kevinpollet <pollet.kevin@gmail.com>
2021-02-12 12:12:03 +01:00
Ludovic Fernandez
5597d7633d
Fix TLS challenge timeout and validation error
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2021-02-11 16:32:03 +01:00
Jean-Baptiste Doumenjou
d211437d6c Merge v2.4 into master 2021-02-04 10:40:53 +01:00
Jean-Baptiste Doumenjou
7996a42f76
Allow crossprovider service reference
Co-authored-by: Harold Ozouf <harold.ozouf@gmail.com>
2021-02-02 19:36:04 +01:00
Jean-Baptiste Doumenjou
447c3567b4
Fix the redirect entrypoint default priority 2021-02-02 17:42:04 +01:00
Ludovic Fernandez
bf4a578bbb
fix: infinite loop in forwarded header middleware.
Co-authored-by: kevinpollet <pollet.kevin@gmail.com>
2021-02-02 11:40:04 +01:00
Romain
c53033a778
Fix aggregator test comment 2021-02-01 16:50:03 +01:00
Rémi BUISSON
ea8642e2a1
fix: reduce pressure of pilot services when errors occurs 2021-02-01 14:42:04 +01:00
Harold Ozouf
96a3468791
Fix servers transport not found 2021-02-01 12:36:03 +01:00
Harold Ozouf
2065f4c003
Fix HTTP challenge router unexpected delayed creation 2021-01-28 16:16:05 +01:00
LandryBe
9a931e4dc9
fix: add support for multiple ingress classes 2021-01-28 15:08:04 +01:00
Gabe Levasseur
49ec62c757
Fix refresh interval option description in consulcatalog provider 2021-01-28 11:10:04 +01:00
Ludovic Fernandez
a371f971fb
chore: update linter. 2021-01-28 09:00:03 +01:00
kevinpollet
2461e36ed4
Merge branch v2.4 into master 2021-01-25 12:42:23 +01:00
Harold Ozouf
1305bf49a5
Fix plugin type on middleware endpoint response 2021-01-25 11:08:04 +01:00
Pascal Fautré
f0d78471af
Forward Proxy-Authorization header to authentication server 2021-01-21 18:34:04 +01:00
Julien Salleyron
a90b2a672e
perf: improve forwarded header and recovery middlewares
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-01-21 10:04:04 +01:00
Sune Keller
2bbb6fc427
Update sprig to v3.2.0 2021-01-20 15:10:04 +01:00
Romain
4b370930b5
Mutualize TLS version and cipher code 2021-01-20 04:08:03 +01:00
na4ma4
b05a5c818d
Add TLS version and cipher to the accessLog 2021-01-19 09:52:06 +01:00
Kevin Pollet
41d22ef17e
Improve kubernetes external name service support for UDP 2021-01-19 09:30:05 +01:00
Cirrith
bbee63fcf3
Add named port support to Kubernetes IngressRoute CRDs 2021-01-15 15:54:04 +01:00
romain
f742671bbe Merge branch v2.4 into master 2021-01-14 18:29:48 +01:00
Kevin Pollet
e62a00a3f5
Update copyright year for 2021 2021-01-13 16:50:03 +01:00
kevinpollet
ed5321999c
Merge branch v2.4 into master 2021-01-13 09:21:20 +01:00
romain
92886c46ea Merge branch v2.3 into v2.4 2021-01-11 16:26:53 +01:00
Sylvere Richard
83fa3f4cc8
Discrepancy in Traefik log levels 2021-01-11 15:42:04 +01:00
Kevin Pollet
c24f75ce0b
Update copyright year for 2021 2021-01-08 19:20:04 +01:00
Henning
63929b0341
Compile kubernetes ingress annotation regex only once 2021-01-07 18:56:03 +01:00
Linden Krouse
fc7ec17905
Feature: add udp timeout configuration 2021-01-07 17:16:03 +01:00
Julien Salleyron
e5a01c7cc8
Add HTTP3 support (experimental)
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2021-01-07 14:48:04 +01:00
Michael
0509b6fdb9
Merge branch v2.4 into master 2021-01-06 18:59:45 +01:00
Michael
60d87f3c64
Merge back v2.3 into v2.4 2021-01-06 17:59:03 +01:00
Gian Ortiz
759d17547a
Use Datadog tracer environment variables to setup default config 2021-01-06 17:08:03 +01:00
Avdhoot Dendge
d4f0a9ff62
Fix wildcard hostname issue 2021-01-05 12:26:04 +01:00
Ludovic Fernandez
f54136b602
chore: update linter. 2020-12-29 10:54:03 +01:00
Sylvain Rabot
a3327c4430
Add TLS certs expiration metric 2020-12-18 18:44:03 +01:00
kevinpollet
f8ae972e70
Merge branch v2.3 into v2.4 2020-12-18 10:15:01 +01:00
Ludovic Fernandez
63f65e5b2a
Disable router when a rule has an error 2020-12-17 10:06:03 +01:00
Fabian Gruber
ec0075e0d0
Extend marathon port discovery to allow port names as identifier 2020-12-16 12:32:03 +01:00
Romain
c21597c593
Add Kubernetes Gateway Provider
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
2020-12-15 16:40:05 +01:00
kevinpollet
eebbe64b36
Merge branch v2.3 into master 2020-12-11 10:58:00 +01:00
Romain
7ba907f261
IngressRoute: add an option to disable cross-namespace routing
Co-authored-by: Jean-Baptiste Doumenjou <925513+jbdoumenjou@users.noreply.github.com>
2020-12-10 14:58:04 +01:00
Harold Ozouf
c72769e2ea
Fix TLS options fallback when domain and options are the same
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-12-09 14:16:03 +01:00
Harold Ozouf
7403b6fb82
Fix concatenation of IPv6 addresses and ports 2020-12-04 20:56:04 +01:00
Harold Ozouf
64a65cadf3
Send anonymized dynamic configuration to Pilot
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-12-03 15:52:05 +01:00
Ludovic Fernandez
a488430f23
acme: add external account binding support. 2020-12-01 10:40:05 +01:00
Harold Ozouf
e9cccf6504
Do not evaluate templated URL in redirectRegex middleware 2020-11-24 14:16:03 +01:00
kevinpollet
2112de6f15
Merge branch v2.3 into master 2020-11-20 11:30:07 +01:00
Romain
be0845af02
Apply labelSelector as a TweakListOptions for Kubernetes informers 2020-11-20 00:18:04 +01:00
Harold Ozouf
a75819cae3
Filter out Helm secrets from informer caches
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-11-19 14:32:03 +01:00
Harold Ozouf
4f43c9ebb4
Fix missing allow-empty tag on ECS and Consul Catalog providers
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-11-19 00:12:03 +01:00
Harold Ozouf
9177982334
Fix consul catalog panic when health and services are not in sync
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-11-17 17:30:03 +01:00
Matthias Schneider
84b125bdde
added support for tcp proxyProtocol v1&v2 to backend 2020-11-17 13:04:04 +01:00
Yoan Blanc
52eeff9f9f
fix: consulcatalog to update before the first interval 2020-11-16 20:44:04 +01:00
Douglas De Toni Machado
598dcf6b62
Improve service name lookup on TCP routers 2020-11-13 12:48:04 +01:00
Alessandro Chitolina
920e82f11a
fix: translate configured server port into correct mapped host port 2020-11-09 17:12:05 +01:00
Fernandez Ludovic
520fcf82ae Merge branch v2.3 into master. 2020-11-09 00:07:28 +01:00
Ludovic Fernandez
267d0b7b5a
chore: update linter. 2020-11-06 09:26:03 +01:00
Daniel Adams
74d1d55051
Feature: Exponential Backoff in Retry Middleware 2020-11-05 16:14:04 +01:00
Kevin Pollet
3a8cb3f010
Add AccessControlAllowOriginListRegex field to deepcopy 2020-11-05 11:24:03 +01:00
Sylvain Rabot
d38d11f02e
Set kubernetes client User-Agent to something meaningful 2020-10-30 17:56:03 +01:00
Michael
af04e92cf2
Enable stats collection when pilot is enabled 2020-10-30 16:54:04 +01:00
Michael
4ea1c98ac9
Improve anonymize configuration 2020-10-30 12:44:05 +01:00
Ludovic Fernandez
05333b9579
acme: new HTTP and TLS challenges implementations. 2020-10-29 15:40:04 +01:00
iamolegga
49cdb67ddc
Middlewares: add forwardAuth.authResponseHeadersRegex 2020-10-29 15:10:04 +01:00
Luca Guidi
b5198e63c4
Allow to use regular expressions for AccessControlAllowOriginList 2020-10-29 10:52:03 +01:00
Tristan Weil
db007efe00
Ignore errors when setting keepalive period is not supported by the system 2020-10-28 15:32:04 +01:00
Jean-Baptiste Doumenjou
4fccde84bd Merge current v2.3 branch into master 2020-10-23 14:29:22 +02:00
Romain
fc97ea7ee0
Use timezone without daylight saving time for logger formatter tests
Co-authored-by: jbdoumenjou <925513+jbdoumenjou@users.noreply.github.com>
2020-10-22 19:52:04 +02:00
Romain
3e61d1f233
Prepare release v2.3.2 2020-10-19 20:22:04 +02:00
Ludovic Fernandez
04c07227f2
fix: Consul Catalog address documentation. 2020-10-19 10:28:03 +02:00
Romain
3567ae88ad
Bump k8s client to v0.19.2 2020-10-08 17:12:04 +02:00
romain
afcec56be4 Merge 'v2.3' into master. 2020-10-08 14:05:10 +02:00
Ludovic Fernandez
d2435cf43b
fix: restrict protocol for TLS Challenge. 2020-10-08 13:34:04 +02:00
Michael
556f7608db
fix: use provider keytype instead of account keytype. 2020-10-08 12:58:04 +02:00
Nikita Konev
326be29568
Filter ForwardAuth request headers 2020-10-07 16:36:04 +02:00
Matthias Schneider
3506cbd5e9
fix: udp json struct tag 2020-10-02 17:38:04 +02:00
Anton Popovichenko
ab13019bde
acme: Fix race condition in LocalStore during saving. 2020-09-30 12:04:04 +02:00
Robin Müller
f2e53a3569
Re-add server up metrics 2020-09-26 13:30:03 +02:00
Kevin Pollet
5e63ab619e
Fix default value of docker client timeout 2020-09-25 09:14:04 +02:00
Fernandez Ludovic
cd947ae822 Merge branch 'v2.3' into master 2020-09-23 15:35:31 +02:00
Ludovic Fernandez
ef08e8b8a0
fix: precheck function. 2020-09-23 12:24:03 +02:00
Ludovic Fernandez
7e482e9f8b
fix: pilot metrics unit for req duration. 2020-09-18 15:36:04 +02:00
Fernandez Ludovic
86c099d629 Merge branch v2.3 into master 2020-09-17 12:32:18 +02:00
Jean-Baptiste Doumenjou
c0f1e74bed
chore: move to Traefik organization.
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2020-09-16 15:46:04 +02:00
Eli Mallon
498e8545b6
feat: update more than one LoadBalancer ip
Co-authored-by: kevinpollet <pollet.kevin@gmail.com>
2020-09-15 13:48:32 +02:00
Ludovic Fernandez
230c2e5cc2
chore: update linter. 2020-09-15 13:08:03 +02:00
Ludovic Fernandez
3e60863e2d
Moves pilot outside the experimental section. 2020-09-15 12:08:03 +02:00
Julien Salleyron
76f42a3013
add ServersTransport on services 2020-09-11 15:40:03 +02:00
Fernandez Ludovic
6075f7e8fd Merge branch v2.3 into master 2020-09-08 10:48:09 +02:00
Fernandez Ludovic
8474a61f21 Merge branch v2.2 into v2.3 2020-09-07 16:30:17 +02:00
Ludovic Fernandez
66d151df77
Improve plugins builder. 2020-09-07 13:58:03 +02:00
Ludovic Fernandez
eb7a6d925b
fix: header middleware response writer. 2020-09-07 09:26:03 +02:00
Fernandez Ludovic
3678bd5a93 Merge branch v2.2 into v2.3 2020-09-04 21:06:11 +02:00
Ludovic Fernandez
41aa2672cd
Update go-acme/lego to v4.0.1 2020-09-04 10:52:03 +02:00
Julien Salleyron
52790d3c37
Headers response modifier is directly applied by headers middleware
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-09-01 18:16:04 +02:00
Kevin Pollet
3677252e17
Add missing IPStrategy struct tag for YAML 2020-09-01 17:34:04 +02:00
Sune Keller
29bd6faa18
Support configuring a HTTP client timeout in the Docker provider 2020-08-28 10:02:03 +02:00
Fernandez Ludovic
483e2c43cf Merge branch v2.3 into master 2020-08-26 12:22:39 +02:00
Ludovic Fernandez
b67a7215f6
chore: update linter. 2020-08-21 11:12:04 +02:00
Kevin Pollet
584f4bc596
Update jaeger-client-go dependency to v2.25.0 2020-08-19 15:50:03 +02:00
Ludovic Fernandez
1502d20def
chore: move the parser to a dedicated package. 2020-08-17 18:04:03 +02:00
Ludovic Fernandez
eecc2f4dd7
Update to go1.15 2020-08-17 12:02:03 +02:00
Никита Тимофеев
449afea4fc
Allows multi-level KV prefixes 2020-08-11 17:42:05 +02:00
Romain
0d5d14d41a
Pilot metrics provider
Co-authored-by: Kevin Pollet <pollet.kevin@gmail.com>
2020-08-10 15:26:04 +02:00
Kevin Pollet
5b05c990b0
Improve region resolution for ECS provider
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
2020-08-05 11:52:03 +02:00
Fernandez Ludovic
675655d437 Merge branch v2.2 into v2.3 2020-07-28 17:50:35 +02:00
Romain
dafb14ff37
Support Kubernetes Ingress pathType
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
Co-authored-by: kevinpollet <pollet.kevin@gmail.com>
2020-07-28 17:50:04 +02:00
Ludovic Fernandez
e63db782c1
fix: clean X-Forwarded-Prefix header for the dashboard. 2020-07-28 10:08:03 +02:00
jb doumenjou
207d0bec78 Merge v2.2 into v2.3 2020-07-22 15:49:28 +02:00
Kevin Pollet
1443c8d4c6
Add migration documentation for IngressClass 2020-07-21 18:06:04 +02:00
Kevin Pollet
a136c46148
Use semantic versioning to enable ingress class support 2020-07-21 15:32:04 +02:00
Ludovic Fernandez
2c7f6e4def
fix: drop host port to compare with SNI. 2020-07-20 18:32:03 +02:00
Stephen Solka
dcd0cda0c6
prefer NoError/Error over Nil/NotNil 2020-07-19 13:10:03 +02:00
Julien Salleyron
0b7aaa3643
Fix domain fronting
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-07-17 15:38:04 +02:00
Ludovic Fernandez
44a244b1cb
file parser: skip nil value. 2020-07-17 11:04:04 +02:00
Mickael Jeanroy
45f52ca29c
fix: access logs header names filtering is case insensitive 2020-07-16 17:36:04 +02:00
Manuel Zapf
fae2d93525
Get Entrypoints Port Address without protocol for redirect 2020-07-16 17:18:03 +02:00
Fernandez Ludovic
c42f1b7a50 feat: raw map parser. 2020-07-15 20:14:04 +02:00
Fernandez Ludovic
0186c31d59 feat: plugins integration. 2020-07-15 20:14:04 +02:00
Julien Salleyron
4a31544024 feat: Traefik Pilot integration.
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-07-15 20:14:04 +02:00
Daniel Tomcej
cb6ec507e2
Add new ingressClass support to ingress provider
* add new ingressClass

* add doc

* lint

* adjust behavior to look for a class with a specific controller

* remove looking strange test ingressclass

* return nil rather than en empty object

* change documentation

* apply @kevinpollet suggestion

* change order of processIngress to be correct and adjust tests

* review: clean.

* review: clean.

* Fix for review

Co-authored-by: Manuel Zapf <manuel@containo.us>
Co-authored-by: Fernandez Ludovic <ludovic@containo.us>
Co-authored-by: Michael <michael.matur@gmail.com>
2020-07-15 19:18:03 +02:00
Kevin Pollet
1ef93fead7
Add HTTP Provider
* feat: add HTTP provider implementation

* refactor: add SetDefaults and struct tag for the new file parser

* feat: add TLS configuration property

* refactor: rework HTTP provider implementation

* feat: provide config only once if fetched config is unchanged

* style: lint

* ui: add HTTP provider icon

* tests: simplify and fix integration test

* docs: add reference config for file

* docs: move http reference config for file

Co-authored-by: Daniel Tomcej <daniel.tomcej@gmail.com>
2020-07-15 16:56:03 +02:00
Alessandro Chitolina
285ded6e49
Add AWS ECS provider
* add ecs provider

* add ecs docs

* fix test after rebase

* add provider icon

* add missing addProvider call

* Fix for review

* Fix documentation

* Fix for review

* Fix documentation

* fix ctx usage

* autoDiscoverClusters setDefaults false

* Fix for review

* review: doc.

* Fix for review: add ctx in backoff retry

* review: linter.

Co-authored-by: Michael <michael.matur@gmail.com>
Co-authored-by: romain <romain@containo.us>
Co-authored-by: Fernandez Ludovic <ludovic@containo.us>
2020-07-15 16:28:04 +02:00
Fernandez Ludovic
6e4f5821dc Merge branch 'v2.2' into master 2020-07-15 09:37:32 +02:00
Ludovic Fernandez
a3df5b9a94
fix: documentation references. 2020-07-15 09:10:03 +02:00
Romain
0e97a3becd
Revert domain fronting fix
* revert domain fronting changes

* reintroduce HostHeader rule

* add doc for removals
2020-07-13 17:58:03 +02:00
John Pekcan
77a0cef9ce
fix k8s crd to read contentType middleware into dynamic config
Co-authored-by: John Pekcan <apekcan@ea.com>
2020-07-13 12:30:03 +02:00
Julien Salleyron
143e9b6f9c
Fix default value for InsecureSNI when global is not set 2020-07-13 12:06:03 +02:00
Jean-Baptiste Doumenjou
c315b4e064
Change the default value of insecureSNI
* fix: allow domain fronting by default

* review: typo.

* review: doc.

Co-authored-by: Fernandez Ludovic <ludovic@containo.us>
2020-07-10 18:48:03 +02:00
jb doumenjou
73ca7ad0c1 Merge remote-tracking branch 'upstream/v2.2' into mrg-current-v2.2 2020-07-10 11:23:49 +02:00
Julien Salleyron
b10cb84f33
Fix panic when using chain middleware. 2020-07-09 10:50:04 +02:00
Douglas De Toni Machado
d73c7ccf50
Fix triggering multiple concurrent requests to ACME 2020-07-08 12:54:04 +02:00
Romain
2b35397169
Disable domain fronting
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2020-07-08 12:18:03 +02:00
Ludovic Fernandez
a20e90aa17
chore: update linter. 2020-07-07 14:42:03 +02:00
Kevin Pollet
4d71f682b3
Fix race condition issues with provided dynamic configuration
* tests: add tests to show race condition on provider config

* fix: store a deep copy of previous provider config

* fix: send a deep copy of provdier config to watcher listener
2020-07-02 11:18:04 +02:00
Yongxin Wang
b61de07ca0
Remove checkStringQuoteValidity in loadIngressRouteConf
* remove checkStringQuoteValidity in loadIngressRouteConf

* remove checkStringQuoteValidity and related tests in crd

* remove checkStringQuoteValidity from ingress and related tests

Co-authored-by: traefiker <30906710+traefiker@users.noreply.github.com>
2020-07-02 10:34:04 +02:00
Léopold Jacquot
7669f41e8e
Add custom ping http code when Traefik is terminating 2020-07-01 14:40:04 +02:00
Romain
30e0778ed2
Fix sticky cookie ingress annotation doc 2020-07-01 12:58:05 +02:00
Daniel Tomcej
73513f8371
Allow multiple secure middlewares to operate independently 2020-07-01 10:42:04 +02:00
Romain
8d3d5c068c
Provide username in log data on auth failure 2020-06-18 16:02:04 +02:00
Ludovic Fernandez
cb1d0441e9
feat: use parser to load dynamic config from file. 2020-06-17 16:48:04 +02:00
Romain
e5e46bf4ed
Fix ipv6 handling in redirect middleware 2020-06-17 01:10:04 +02:00
mpl
9f32292473
internal handlers: support for response modifiers
Co-authored-by: Julien Salleyron <julien@containo.us>
Co-authored-by: Romain <rtribotte@users.noreply.github.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2020-06-15 12:20:05 +02:00
jb doumenjou
7affeae480 Merge remote-tracking branch 'upstream/v2.2' into mrg-current-v2.2 2020-06-15 11:22:51 +02:00
Jan Christian Grünhage
b0f7b71453
refactor X-Forwarded-Proto 2020-06-10 14:32:03 +02:00
cbachert
0d902671e5
Avoid overwriting already received UDP messages 2020-06-08 18:12:04 +02:00
Douglas De Toni Machado
48c73d6a34
Fix mem leak on UDP connections 2020-06-04 11:04:04 +02:00
Bo Jeanes
a1270d6cc7
Use specified network for "container" network mode 2020-05-28 19:58:04 +02:00
Michael
7928e6d0cd
Merge branch 'v2.2' into master 2020-05-18 18:37:11 +02:00
Daniel Tomcej
5f0b6fde92
Upgrade Client-go to 0.18.2 2020-05-14 18:36:06 +02:00
Ludovic Fernandez
328611c619
Update linter 2020-05-11 12:06:07 +02:00
Julien Salleyron
e22c62baba
Fix wss in x-forwarded-proto 2020-04-30 18:00:04 +02:00
mpl
4da63c9237
ratelimit: do not default to ipstrategy too early 2020-04-29 18:32:05 +02:00
Ludovic Fernandez
de42fc10b5
fix: cookie documentation. 2020-04-29 17:10:05 +02:00
Michael
a813d32c53
Manage case for all Websocket headers 2020-04-27 18:12:04 +02:00
Thomas Brandstetter
756aa82aa9
Fix case-sensitive header Sec-Websocket-Version 2020-04-21 17:16:05 +02:00
Nicholas Wiersma
2171cb7f3d
fix: consider UDP when checking for empty config 2020-04-16 16:18:04 +02:00
Michael
daf4258472
FIx wS heAder 2020-04-14 18:24:04 +02:00
Michael
6c08d0b20b
Fix documentation 2020-04-07 18:38:04 +02:00
Michael
148400ae0a
Add note about health check in kubernetes 2020-04-07 17:16:03 +02:00
Jean-Baptiste Doumenjou
ac1657d86e
Delete an unnecessary warning log 2020-04-03 17:06:06 +02:00
Ludovic Fernandez
6f749c6414
Normalize default names for ConsulCatalog. 2020-03-30 19:12:05 +02:00
Ludovic Fernandez
a6b6e1d101
Change the default priority on the router created by the redirect. 2020-03-30 14:50:05 +02:00
mpl
69de5bb828
digest auth: use RequireAuthStale when appropriate 2020-03-25 14:28:04 +01:00
Fernandez Ludovic
b54412e82e Merge branch v2.1 into v2.2 2020-03-24 14:18:39 +01:00
Julien Salleyron
dd436a689f
Force http/1.1 for upgrade (Traefik v2) 2020-03-23 16:48:06 +01:00
Ludovic Fernandez
ee06778cc2
fix: period field name. 2020-03-23 13:08:04 +01:00
Ludovic Fernandez
0c28630948
Fix sameSite (Traefik v2) 2020-03-23 11:24:05 +01:00
Fernandez Ludovic
f54b8d8847 Merge branch v2.1 into v2.2 2020-03-19 17:53:34 +01:00
Julien Salleyron
b40fa61783
Fix memory leak in metrics
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-03-19 13:48:04 +01:00
Fernandez Ludovic
2b28607a4e Merge remote-tracking branch 'upstream/v2.1' into v2.2 2020-03-18 18:16:08 +01:00
Ludovic Fernandez
44221fba49
Fix entry point redirect behavior 2020-03-18 15:48:04 +01:00
mpl
63d7ed74f1
udp: replace concurrently reset timer with ticker
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-03-18 14:50:06 +01:00
Ludovic Fernandez
9012f2d6b1
fix: Ingress TLS support
Co-authored-by: Julien Salleyron <julien@containo.us>
2020-03-18 13:30:04 +01:00
Ludovic Fernandez
09224e4b04
fix: custom Host header. 2020-03-18 00:54:04 +01:00
Ludovic Fernandez
62c3025a76
Access log field quotes. 2020-03-17 12:36:04 +01:00
mpl
6e92c20edb
docs: clarify multi-levels stickiness 2020-03-17 12:34:04 +01:00
Ludovic Fernandez
af58faafae
Drop traefik from default entry points. 2020-03-16 16:54:04 +01:00
robotte
3b85dc9618
Improve kubernetes external name service support
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2020-03-10 12:46:05 +01:00
Ludovic Fernandez
d02bb28920
Router entry points on reload. 2020-03-09 11:12:05 +01:00
Dmytro Tananayskiy
cf7f0f878a Support mirroring request body
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-03-05 18:30:07 +01:00
Fernandez Ludovic
09c07f45ee Merge v2.1 into master. 2020-03-05 16:10:23 +01:00
Traefiker Bot
b5d205b78c
fix statsd scale for duration based metrics 2020-03-05 15:10:07 +01:00
Traefiker Bot
ad6bf936d5
Add metrics about TLS 2020-03-05 13:30:05 +01:00
Traefiker Bot
a6040c623b
Entry point redirection and default routers configuration
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2020-03-05 12:46:05 +01:00
Traefiker Bot
082fb166a2
Rework access control origin configuration 2020-03-05 08:18:04 +01:00
Ludovic Fernandez
dccc075f2c
Add some missing doc. 2020-03-04 16:48:05 +01:00
Ludovic Fernandez
fb51ebcba6
Disable default APM tracer. 2020-03-04 00:56:04 +01:00
Julien Salleyron
67e17def56
Revert "Allow fsnotify to reload config files on k8s (or symlinks)" 2020-03-03 18:44:04 +01:00
robotte
353bd3d06f
Added support for replacement containing escaped characters
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2020-03-03 16:20:05 +01:00
Fernandez Ludovic
e9d0a16a3b Merge 'v2.1' into master 2020-02-29 00:59:18 +01:00
Daniel Tomcej
f6c6c2b2c0
Allow fsnotify to reload config files on k8s (or symlinks) 2020-02-26 17:50:07 +01:00
Robin Müller
18d90ecd96
Do not follow redirects for the health check URLs 2020-02-26 17:28:04 +01:00
Ludovic Fernandez
8c271cf40c
Update to go1.14 2020-02-26 15:30:06 +01:00
Jean-Baptiste Doumenjou
665aeb34b2
Add UDP support in kubernetesCRD provider
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2020-02-26 12:28:05 +01:00
Ma Zi'ang
98f304f8b0
Use EDF schedule algorithm for WeightedRoundRobin 2020-02-26 11:56:05 +01:00
Matthieu Hostache
7a5d2a3bd9
WebUI: add udp pages 2020-02-26 11:12:05 +01:00
Evan Lurvey
f4d62d3342
Fix docs and code to match in haystack tracing. 2020-02-26 11:10:06 +01:00
Ludovic Fernandez
54df7b0a3c
Update go-acme/lego to v3.4.0 2020-02-26 10:36:05 +01:00
Ludovic Fernandez
9795a7c4a9
fix: consul-catalog use port from label instead of item port. 2020-02-25 23:00:04 +01:00
Julien Salleyron
1557fda588
Consider SSLv2 as TLS in order to close the handshake correctly 2020-02-25 17:50:05 +01:00
Julien Salleyron
1e7f34c271
Launch healhcheck only one time instead of two 2020-02-25 16:30:05 +01:00
Michael
d71e8ab7c9
Fix secret informer load 2020-02-25 15:14:04 +01:00
Daniel Tomcej
3b4c8ba439
Use consistent protocol determination 2020-02-25 10:12:04 +01:00
Daniel Tomcej
a474e196ea
Add TLSStores to Kubernetes CRD 2020-02-24 17:14:06 +01:00
Ludovic Fernandez
101aefbfe8
Update dependencies 2020-02-24 16:06:05 +01:00
Patrick Schaub
e04ebaa364
Fix typo in the godoc of TLS option MaxVersion 2020-02-21 17:48:05 +01:00
Julien Salleyron
bb4de11c51
Add UDP in providers with labels 2020-02-20 22:24:05 +01:00
Ludovic Fernandez
a20a5f1a44
Improvement of the unique name of the router for Ingress. 2020-02-18 17:34:05 +01:00
Julien Salleyron
ee6d28b25e
Build all UDP services on an entrypoint 2020-02-17 18:02:04 +01:00
Felipe
1c764052f7
Add http request scheme to logger 2020-02-17 10:46:04 +01:00
Ludovic Fernandez
d501c0786f
Early filter of the catalog services. 2020-02-13 10:26:04 +01:00
Jean-Baptiste Doumenjou
322c329c6f
fix: use the right error in the log 2020-02-12 18:28:05 +01:00
Daniel Tomcej
7c430e5c9d
Allow PreferServerCipherSuites as a TLS Option 2020-02-12 18:06:04 +01:00
Ludovic Fernandez
94b2b6393f
Add missing generated element for UDP. 2020-02-12 15:40:06 +01:00
Sylvain Rabot
8762e5160d
Let metrics libs handle the atomicity 2020-02-11 16:40:05 +01:00
Ludovic Fernandez
c33348e80c
fix: return an error when ping is not enabled. 2020-02-11 16:06:06 +01:00
FuNK3Y
0c90f6afa2
Fix traefik behavior when network_mode is host 2020-02-11 11:56:05 +01:00
mpl
115d42e0f0
UDP support
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-02-11 01:26:04 +01:00
Andrew Parker
6e43ab5897
Don't throw away valid configuration updates 2020-02-10 21:40:06 +01:00
Sylvain Rabot
8988c8f9af
Decrease log level for client related error 2020-02-10 18:54:05 +01:00
Fernandez Ludovic
aa21351d0d Merge branch v2.1 into master 2020-02-10 16:47:13 +01:00
Daniel Tomcej
b498c7bcbb
Properly purge default certificate from stores before logging 2020-02-05 18:46:03 +01:00
Julien Salleyron
349ce004f8
don't create http client for each request in forwardAuth middleware 2020-02-03 18:44:03 +01:00
Julien Salleyron
1b63c95c4e
Fix kubernetes providers shutdown and clean safe.Pool 2020-02-03 17:56:04 +01:00
Daniel Tomcej
03689251c5
Allow wildcard hosts in ingress provider 2020-02-03 11:24:06 +01:00
mpl
16288d171c use provider-qualified name when recursing for chain 2020-01-27 10:40:05 +01:00
Ludovic Fernandez
a4e8d3cb36 doc: use the same entry point name everywhere 2020-01-23 16:36:07 +01:00
Ludovic Fernandez
dce6356d75 fix: etcd provider name. 2020-01-22 18:26:03 +01:00
mpl
c24e74efe3 systematically call updateIngressStatus 2020-01-22 03:44:04 +01:00
Fernandez Ludovic
60e247862a Merge branch v2.1 into master 2020-01-21 18:41:46 +01:00
Julien Salleyron
c296a4a967 Remove Content-Type auto-detection
Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
2020-01-21 18:06:03 +01:00
mpl
24192a3797 fix memleak in safe.Pool
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2020-01-20 17:42:05 +01:00
Julien Salleyron
f84d947115 Use the calculated port when useBindPortIP is enabled 2020-01-20 15:56:05 +01:00
Ludovic Fernandez
9544dece07 fix: invalid service definition. 2020-01-20 15:28:06 +01:00
Ludovic Fernandez
72e702a15a Support 'networking.k8s.io/v1beta1' ingress apiVersion 2020-01-16 10:14:06 +01:00
Ludovic Fernandez
6b7be462b8 Add Ingress annotations support
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2020-01-14 15:48:06 +01:00
Ludovic Fernandez
4329d393e6 Update license date 2020-01-14 15:22:05 +01:00
Jean-Baptiste Doumenjou
4f52691f71 Add namespace attribute on IngressRouteTCP service 2020-01-14 12:14:05 +01:00
mpl
6f4aefffe7 Add period for rate limiter middleware 2020-01-08 11:44:04 +01:00
Sylvain Rabot
377c219fd9 Rename the non-exposed field "count" to "size" 2020-01-07 20:00:05 +01:00
Fernandez Ludovic
da3d814c8b Merge branch 'v2.1' into master 2020-01-07 19:13:48 +01:00
Gary Kramlich
bd676922c3 k8s Ingress: fix crash on rules with nil http 2020-01-07 16:26:08 +01:00
José Carlos Chávez
49356cadd4 fix(tracing): makes sure tracing headers are being propagated when using forwardAuth 2020-01-07 15:48:07 +01:00
Ludovic Fernandez
c02f222005 Improves error message when a configuration file is empty. 2020-01-07 15:24:05 +01:00
Jean-Baptiste Doumenjou
7283d7eb2f Log the ignored namespace only when needed 2020-01-07 10:46:04 +01:00
Julien Salleyron
807dc46ad0 Handle respondingtimeout and better shutdown tests.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2020-01-06 16:56:05 +01:00
Ludovic Fernandez
b380522df8 fix: dashboard redirect loop 2019-12-24 17:36:04 +01:00
Manuel Zapf
431abe79f3 Query consul for service health separately 2019-12-19 11:00:07 +01:00
Dmitry Sharshakov
125470f110 Support SSH connection to Docker 2019-12-18 15:28:04 +01:00
Dmitry Sharshakov
4f669bdd66 Don't set user-agent to Go-http-client/1.1 2019-12-18 11:22:06 +01:00
Ludovic Fernandez
8930236396 fix: invalid label/flag parsing. 2019-12-17 16:10:06 +01:00
Kenneth Peiruza
b501c6d5bf Added ExternalName https support for Kubernetes CRD, as done in v2.0 2019-12-16 21:48:03 +01:00
Ludovic Fernandez
7f085df240 chore: update some dependencies 2019-12-12 17:48:05 +01:00
mpl
61e59d74e0 CloseNotifier: return pointer instead of value 2019-12-12 15:12:05 +01:00
David
5f50d2e230 Add serial number certificate to forward headers 2019-12-12 00:32:03 +01:00
Fernandez Ludovic
2d3fc613ec Merge branch 'v2.1' into master 2019-12-11 22:14:26 +01:00
mpl
bdf4c6723f detect CloseNotify capability in accesslog and metrics 2019-12-10 18:18:04 +01:00
Fernandez Ludovic
5c091a1871 Merge branch 'v2.0' into v2.1 2019-12-09 18:48:20 +01:00
Ludovic Fernandez
1a7a3a4233 fix: remove double call to server Close. 2019-12-09 15:14:06 +01:00
Julien Salleyron
d2e458f673 Remove mirroring impact in accesslog 2019-12-09 15:12:06 +01:00
Ludovic Fernandez
39a3cefc21 fix: PassClientTLSCert middleware separators and formatting 2019-12-09 12:20:06 +01:00
Antoine
0e6dce7093 Do not stop to listen on tcp listeners on temporary errors 2019-12-04 16:26:05 +01:00
Ludovic Fernandez
ddbf4470a1 fix: debug endpoint when insecure API. 2019-12-04 15:28:07 +01:00
Fernandez Ludovic
829649e905 Merge branch 'v2.1' into master 2019-12-03 10:43:25 +01:00
Fernandez Ludovic
89919dbe36 Merge branch 'v2.0' into v2.1 2019-12-02 18:20:29 +01:00
Brendan Le Glaunec
4cb9eec257 Add custom help function to command 2019-12-02 17:34:06 +01:00
José Carlos Chávez
78097b96c9 Fix extraction for zipkin tracing 2019-12-02 14:18:07 +01:00
mpl
2af8589afd Do not give responsewriter or its headers to asynchronous logging goroutine
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-12-02 03:14:04 +01:00
Ludovic Fernandez
cf1ace3a73 fix: consul catalog constraints. 2019-11-29 17:16:05 +01:00
Jean-Baptiste Doumenjou
efcc9d51d4 Healthcheck managed for all related services
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-11-29 12:40:05 +01:00
Ludovic Fernandez
9b9f4be6a4 Add KV store providers (dynamic configuration only)
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-11-28 21:56:04 +01:00
Daniel Tomcej
a87c104172 Remove Request Headers CORS Preflight Requirement 2019-11-28 15:24:06 +01:00
Wagum
028683666d Update deprecated function call in k8s providers 2019-11-28 00:04:04 +01:00
Michael
a99673122e Service registered with same id on Consul Catalog 2019-11-27 16:24:06 +01:00
Amine Benseddik
fe8b090911 Elastic APM tracer implementation 2019-11-27 16:00:07 +01:00
Manuel Zapf
5b1dc0bfbd Change service name in rancher provider to make webui service details view work 2019-11-27 11:12:07 +01:00
Ludovic Fernandez
772b260b37 fix: sub command help 2019-11-27 10:32:06 +01:00
Maxim Fominykh
bd75eddc8e Duration order consistency when multiplying number by time unit 2019-11-26 21:38:03 +01:00
Ludovic Fernandez
bfa61c8f67 fix: use MaxInt32. 2019-11-15 20:14:04 +01:00
Fernandez Ludovic
ca9eaf383a Merge branch 'v2.0' into master 2019-11-15 13:34:41 +01:00
Ludovic Fernandez
42a8d84a1f X-Forwarded-Proto must not skip the redirection. 2019-11-15 12:36:04 +01:00
mpl
f30a52c2dc Support for all services kinds (and sticky) in CRD
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-11-14 19:28:04 +01:00
Ludovic Fernandez
424e2a9439 Add internal provider
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-11-14 16:40:05 +01:00
Michael
2ee2e29262 Fix empty address for registering service without IP 2019-11-14 11:10:06 +01:00
Ludovic Fernandez
7afd2dbd20 fix: stripPrefix middleware with empty resulting path. 2019-11-14 10:32:05 +01:00
SKP
ca1d980746 Added configurable prefix for statsd metrics collection 2019-11-12 18:18:04 +01:00
Sylvain Rabot
e6e026f420 Fix rate limiting and SSE 2019-11-12 11:06:05 +01:00
Ludovic Fernandez
7536f5e83c fix: metric with services LB. 2019-11-12 10:24:05 +01:00
Kelvin Sarink
5a3e325742 Add tls option for Elliptic Curve Preferences 2019-11-03 15:54:04 +01:00
Ludovic Fernandez
c5ec12cd56 feat: add consul catalog options 2019-10-31 11:56:05 +01:00
Ludovic Fernandez
3410541a2f Conditionnal compression based on Content-Type 2019-10-31 11:36:05 +01:00
kmeekva
1f39083555 Add support for MaxVersion in tls.Options 2019-10-29 12:58:05 +01:00
Ludovic Fernandez
5f8fb6c226 fix: Consul Catalog documentation. 2019-10-29 12:32:05 +01:00
Fernandez Ludovic
d66dd01438 Merge branch 'v2.0' into master 2019-10-29 09:52:45 +01:00
Ludovic Fernandez
8f000423ed fix: default tracing backend. 2019-10-28 12:26:05 +01:00
Daniel Tomcej
4990f6c22d Allow Default Certificate to work on macOS 10.15 2019-10-28 11:52:04 +01:00
Nicholas Wiersma
770a7f11a7 Avoid closing stdout when the accesslog handler is closed
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
Co-authored-by: jlevesy <julien.levesy@containo.us>
2019-10-28 11:52:04 +01:00
mpl
a239e3fba6 error pages: do not buffer response when it's not an error 2019-10-28 11:52:04 +01:00
Ludovic Fernandez
5327ce543b Remove unnecessary reload of the configuration. 2019-10-25 15:46:05 +02:00
Ludovic Fernandez
3747eb59ea fix: deep copy of passHostHeader on ServersLoadBalancer. 2019-10-25 14:40:05 +02:00
Michael
a6cdd701e2 Set proxy protocol logger to DEBUG level 2019-10-24 10:02:06 +02:00
Sylvain Rabot
c8984e6a6a Use debug for log about skipping addition of cert 2019-10-24 01:10:04 +02:00
Ludovic Fernandez
3884a68889 fix: add stacktrace when recover. 2019-10-18 11:30:05 +02:00
Kenneth Peiruza
0ec84ec597 Adding support for HTTPs backends with Kubernetes ExternalName services 2019-10-18 11:12:05 +02:00
Oisin Canty
6a9d21e9aa Fix spelling mistake: "founded" -> "found" 2019-10-18 10:54:05 +02:00
Sylvain Rabot
a829d44b51 Let instana/go-sensor handle default agent host 2019-10-16 22:30:05 +02:00
Andrew Privalov
7be2db6e86 Add Consul Catalog provider 2019-10-15 17:34:08 +02:00
Ludovic Fernandez
b586ae2f25 Remove deadcode. 2019-10-15 16:36:05 +02:00
Ludovic Fernandez
cb3328dca3 Normalize service and router names for ingress. 2019-10-14 11:18:04 +02:00
Ludovic Fernandez
e7b7ae94b0 fix: add filename in the file provider logs. 2019-10-11 17:20:05 +02:00
Ludovic Fernandez
f2656e62dc fix: default router name for k8s ingress. 2019-10-09 17:16:07 +02:00
Ludovic Fernandez
ff31e75ccc ci: reduce memory consumption of the linter 2019-10-09 11:48:04 +02:00
XciD
a2cd69b654 Fix typo in log 2019-10-07 13:12:05 +02:00
Ludovic Fernandez
48f11900d3 fix: default passHostHeader for file provider. 2019-09-30 18:12:04 +02:00
Ludovic Fernandez
230cd28ac9 fix: return an error instead of panic. 2019-09-30 17:52:04 +02:00
Ludovic Fernandez
33a1499bdd fix: panic with metrics recorder. 2019-09-30 14:42:04 +02:00
mpl
c6e783e7c3 clarify automatic service creation/assignment with labels 2019-09-26 12:48:05 +02:00
Ludovic Fernandez
c8fa059064 fix: docker service name. 2019-09-26 12:26:05 +02:00
Ludovic Fernandez
29efac3e5e fix: update linter. 2019-09-26 11:00:06 +02:00
Ludovic Fernandez
027d313df5 fix: improve log for invalid middleware. 2019-09-26 10:04:04 +02:00
Ludovic Fernandez
ea78808e74 fix doc about file.filename 2019-09-26 09:24:04 +02:00
mpl
6f6f999129 Do not initialize list of middlewares if not needed
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-09-25 18:20:04 +02:00
Ludovic Fernandez
90057318c8 Flag names don't need a consistent case. 2019-09-20 16:36:04 +02:00
Jean-Baptiste Doumenjou
0f1911ba68 Return an actual server status updater 2019-09-18 17:56:05 +02:00
Julien Salleyron
e0a1592e6e Fix case-sensitive header in websocket 2019-09-17 16:12:04 +02:00
Ludovic Fernandez
47a9b086ea Disable collect data by default. 2019-09-16 17:26:06 +02:00
Michael
255e88fbf6 Fix kubernetes id name 2019-09-13 20:44:04 +02:00
Julien Salleyron
685c6dc00c Add weighted round robin load balancer on TCP
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-09-13 20:00:06 +02:00
Ludovic Fernandez
8e18d37b3d fix: logger and context. 2019-09-13 19:28:04 +02:00
Ludovic Fernandez
b4c7b90c9e fix: boolean flag parsing with map. 2019-09-13 19:10:04 +02:00
Julien Salleyron
b55be9fdea On client CloseWrite, do CloseWrite instead of Close for backend
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-09-13 17:46:04 +02:00
Julien Salleyron
401b3afa3b Add passHostHeader and responseForwarding in IngressRoute
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-09-13 16:46:04 +02:00
Ludovic Fernandez
7357d5eae2 fix: services configuration documentation. 2019-09-12 10:18:04 +02:00
mpl
1388266102 Finish kubernetes throttling refactoring 2019-09-10 18:30:05 +02:00
Ben Weissmann
43af0b051f Throttle Kubernetes config refresh 2019-09-10 18:30:05 +02:00
Ludovic Fernandez
6e8138e19b Update golangci-lint 2019-09-10 17:52:04 +02:00
Julien Salleyron
fb8edd86d5 k8s ErrorPage middleware now uses k8s service 2019-09-10 17:24:03 +02:00
Julien Salleyron
34be181706 Add provider in middleware chain 2019-09-10 16:12:05 +02:00
mpl
2b828765e3 Improve rate limiter tests
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-09-09 20:02:04 +02:00
Ludovic Fernandez
25f4c23ab2 Write HTTP server logs into the global logger. 2019-09-09 14:52:04 +02:00
Ludovic Fernandez
be90b20a5d fix: TLS domains with IngressRoute. 2019-09-09 13:52:04 +02:00
mpl
605a9b2817 Default to CLF when accesslog format is unsupported 2019-09-09 09:24:03 +02:00
Julien Salleyron
d044c0f4cc New API security 2019-09-06 15:08:04 +02:00
Julien Salleyron
1959e1fd44 Auth middlewares in kubernetes CRD uses secrets 2019-09-05 13:42:04 +02:00
Ludovic Fernandez
f843f260ee fix: stripPrefix and stripPrefixRegex. 2019-09-03 20:32:03 +02:00
Julien Salleyron
770b3739e0 The chain middleware in k8s use middlewareRef 2019-09-03 19:20:04 +02:00
Ludovic Fernandez
10acbb8d92 Don't panic with undefined middleware 2019-09-03 15:22:05 +02:00
Ludovic Fernandez
a917115a85 fix buffering middleware 2019-09-03 15:02:05 +02:00
Michael
b8ed6f1588 Re enable ratelimit integration tests 2019-09-03 14:34:04 +02:00
Bas van Beek
cb7c5a8ca1 Update Zipkin OpenTracing driver to latest 0.4.3 release 2019-09-03 11:52:04 +02:00
Ludovic Fernandez
306e5081d9 fix: Datadog case. 2019-09-02 03:18:04 -07:00
Ludovic Fernandez
259c7adc81 deep-copy for MirrorService 2019-09-02 02:54:04 -07:00
Ludovic Fernandez
af9762cf32 Improve API for the web UI 2019-09-02 02:38:04 -07:00
Julien Salleyron
df0dd2f5e6 Add errors about unknown entryPoint in runtime api 2019-08-29 03:38:04 -07:00
Julien Salleyron
38508f9a9c Fix recovered panic when websocket is mirrored 2019-08-29 01:28:05 -07:00
Michael
b113972bcf Fix trailing slash with check new version 2019-08-29 00:56:04 -07:00
Julien Salleyron
602a2ea541 Adds mirroring service 2019-08-26 10:00:04 -07:00
Fedorenko Dmitrij
e1831c4c60 Add support proxyprotocol v2 2019-08-26 05:40:04 -07:00
mpl
4ec90c5c0d Add rate limiter, rename maxConn into inFlightReq
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-08-26 03:20:06 -07:00
bsdelf
a8c73f7baf Ensure WaitGroup.Done() is always called 2019-08-26 01:54:05 -07:00
Julien Salleyron
6fed76a687 WeightedRoundRobin load balancer
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-08-26 01:30:05 -07:00
Daniel Tomcej
9e3f549341 Add TLS-enabled Router 2019-08-14 10:16:06 -07:00
Steven E. Harris
2895ad21f3 Correct Kubernetes Ingress and IngressRoute port heuristic for choosing HTTPS 2019-08-14 09:58:04 -07:00
Ludovic Fernandez
5731ae7f47 Fix url.Parse due to go1.12.8 changes. 2019-08-14 09:16:04 -07:00
Ludovic Fernandez
51f7d9a07f Split runtime.go 2019-08-14 08:28:04 -07:00
Fernandez Ludovic
4c5e7a238d chore: go module 2019-08-12 05:06:04 -07:00
Douglas Wagner
ffd8e5667c Wrr loadbalancer honors old weight on recovered servers 2019-08-12 00:36:04 -07:00
Daniel Tomcej
9299c3abc7 Add missing KeyUsages for default generated certificate 2019-08-12 00:36:04 -07:00
Ludovic Fernandez
c2d440a914 chore: update docker and k8s 2019-08-05 09:24:03 -07:00
Jean-Baptiste Doumenjou
91e63dea47 Apply the case of the CLI flags for the configuration 2019-08-05 06:22:03 -07:00
Daniel Tomcej
cd164de776 Add Feature-Policy header support 2019-07-29 07:12:05 -07:00
Michael
c0ef5ce512 Fix prometheus metrics 2019-07-24 12:38:03 +02:00
Ludovic Fernandez
28500989bc Improve acme logs. 2019-07-22 10:16:04 +02:00
Ludovic Fernandez
1800b0b69c Improve error on router without service.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-07-19 16:42:04 +02:00
mpl
092aa8fa6d API: remove configuration of Entrypoint and Middlewares
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-19 12:28:07 +02:00
Ludovic Fernandez
f75f73f3d2 Certificate resolvers.
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-07-19 11:52:04 +02:00
Julien Salleyron
e3627e9cba Disable RateLimit temporarily 2019-07-19 10:50:05 +02:00
Michael
8e97af8dc3 Add Metrics 2019-07-18 21:36:05 +02:00
Ludovic Fernandez
4dc448056c fix: TLS configuration from directory. 2019-07-18 16:26:05 +02:00
Ludovic Fernandez
68c349bbfa Manage status for TCP element in the endpoint overview. 2019-07-18 15:56:04 +02:00
Damien Duportal
8b08f89d2c Allows logs to use local time zone instead of UTC
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-07-17 20:12:04 +02:00
mpl
6fdd48509e config: deal with multiple errors and their criticality
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-15 17:04:04 +02:00
Ryan Fitzpatrick
62800116d3 Add Jaeger collector endpoint 2019-07-15 14:52:04 +02:00
Ludovic Fernandez
093658836e Restrict traefik.toml to static configuration. 2019-07-15 10:22:03 +02:00
Daniel Tomcej
51486b18fa Enhance REST provider 2019-07-13 01:24:03 +02:00
Jean-Baptiste Doumenjou
2c7cfd1c68 Expand Client Auth Type configuration 2019-07-12 17:50:04 +02:00
Daniel Tomcej
3f6ea04048 Properly add response headers for CORS 2019-07-12 11:46:04 +02:00
Ludovic Fernandez
74c5ec70a9 Improve API endpoints 2019-07-12 11:10:03 +02:00
Ludovic Fernandez
c8bf8e896a Move dynamic config into a dedicated package. 2019-07-10 09:26:04 +02:00
Michael
09cc1161c9 Generate deepcopy for configuration struct 2019-07-09 15:18:04 +02:00
Jean-Baptiste Doumenjou
8ab33db51a Renamed kubernetes provider in kubernetesIngress provider 2019-07-08 21:36:03 +02:00
stffabi
cc4258bf9d Remove X-Forwarded-(Uri, Method, Tls-Client-Cert and Tls-Client-Cert-Info) from untrusted IP 2019-07-08 17:56:04 +02:00
Ludovic Fernandez
0ee5d3d83f Automatic generation of the doc for the CLI flags and env vars. 2019-07-08 11:00:04 +02:00
Ludovic Fernandez
c39aa5e857 Add scheme to IngressRoute. 2019-07-05 17:24:04 +02:00
mpl
39aae4167e TLSOptions: handle conflict: same host name, different TLS options
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-07-03 19:22:05 +02:00
Julien Salleyron
4360ca14c1 Use h2c from x/net to handle h2c requests
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-07-01 15:08:04 +02:00
Ludovic Fernandez
c7d336f958 Use the same case everywhere 2019-07-01 11:30:05 +02:00
Máté Szabó
f6436663eb Make HTTP Keep-Alive timeout configurable for backend connections 2019-06-28 00:36:04 +02:00
Michael
84d7c65039 Improve tracing 2019-06-28 00:16:04 +02:00
Ludovic Fernandez
4245096be4 Define a TLS section to group TLS, TLSOptions, and TLSStores.
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-06-27 23:58:03 +02:00
Ludovic Fernandez
c9b2a07bc7 Drop headers by default in access logs. 2019-06-27 16:04:03 +02:00
Ludovic Fernandez
e69d4cba88 Support YAML for the dynamic configuration. 2019-06-26 18:18:04 +02:00
mpl
96962dd21f Handle cross-provider middleware in kubernetes CRD
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-06-26 14:14:05 +02:00
Ludovic Fernandez
36d48224b5 fix: error log message. 2019-06-26 09:10:03 +02:00
Daniel Alan Miller
53779d6ceb Adding content-header to api endpoints 2019-06-25 17:44:03 +02:00
Ludovic Fernandez
4d44ab9628 Change the loading resource order 2019-06-24 16:40:06 +02:00
Jean-Baptiste Doumenjou
80b35575df Define TLS options on the Router configuration for Kubernetes
Co-authored-by: juliens <julien@containo.us>
2019-06-21 17:18:05 +02:00
Julien Salleyron
69cf05df9a Fix panic in tls manager 2019-06-21 16:32:04 +02:00
Ludovic Fernandez
a918dcd5a4 Filter env vars configuration 2019-06-21 10:08:04 +02:00
Ludovic Fernandez
adc9a65ae3 Use name@provider instead of provider@name. 2019-06-21 09:54:04 +02:00
Ludovic Fernandez
1e779f7135 Fix some CLI bugs 2019-06-21 09:40:04 +02:00
Ludovic Fernandez
fe68e9e243 New constraints management.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-06-21 09:24:04 +02:00
Ludovic Fernandez
e9792b446f Change the provider separator from . to @ 2019-06-20 00:40:05 +02:00
mpl
429b1d8574 API: new contract
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-06-19 18:34:04 +02:00
Ludovic Fernandez
a34876d700 Display an error when help is called on a non existing command. 2019-06-19 14:08:05 +02:00
Ludovic Fernandez
31614bebc4 Don't allow non flag arguments by default. 2019-06-18 12:10:06 +02:00
Ludovic Fernandez
be888b59a6 doc: fix middleware names for CRD. 2019-06-18 09:50:05 +02:00
Jean-Baptiste Doumenjou
85ce16b34f Define TLS options on the Router configuration
Co-authored-by: juliens <julien@containo.us>
2019-06-17 18:14:08 +02:00
Ludovic Fernandez
8d7eccad5d New static configuration loading system.
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-06-17 11:48:05 +02:00
Amir Keibi
d18edd6f77 HttpOnly and Secure flags on the affinity cookie 2019-06-13 00:42:06 +02:00
Daniel Tomcej
01c8798e4e Update docker api version 2019-06-12 02:54:03 +02:00
Wenxuan Zhao
1f2fe08c33 Allow SANs for wildcards domain. 2019-06-12 02:54:03 +02:00
mpl
c4df78b4b9 Add support for TCP (in kubernetes CRD)
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-06-11 15:12:04 +02:00
Julien Salleyron
c1dc783512 Remove first byte wait when tcp catches all 2019-06-07 19:30:07 +02:00
Julien Salleyron
518a37e776 rework loadbalancer support 2019-06-05 22:18:06 +02:00
Ludovic Fernandez
ffe69c67fc Entry points CLI description. 2019-05-27 18:02:06 +02:00
mpl
f6df556eb0 API: expose runtime representation
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-05-16 10:58:06 +02:00
Jean-Baptiste Doumenjou
17141b3589 Remove timeout/interval from the ACME Provider 2019-05-10 09:58:05 +02:00
Ludovic Fernandez
c2345c6e9a Don't add TCP proxy when error occurs during creation. 2019-05-09 14:30:06 +02:00
Alex Antonov
9cf6827ccc Added support for Haystack tracing 2019-05-09 00:14:04 +02:00
Daniel Tomcej
5a173fa968 Allow matching with FQDN hosts with trailing periods 2019-05-06 17:16:03 +02:00
Michael
15e78da7eb Minor fix in documentation 2019-04-24 18:04:08 +02:00
mpl
ea750ad813 Improve log message about redundant TLS certificate 2019-04-17 10:38:04 +02:00
ctas582
3d7633f4a6 Forward all header values from forward auth response 2019-04-17 10:38:04 +02:00
Julien Salleyron
bb8a193244 log.loglevel becomes log.level in configuration 2019-04-16 15:30:09 +02:00
Julien Salleyron
d1d2611665 Handle TCP in the marathon provider
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-04-15 18:22:07 +02:00
Ludovic Fernandez
ee0e014617 Insensitive case for allow-empty value. 2019-04-09 16:50:06 +02:00
Julien Salleyron
ef8894ef26 Fix EOF error 2019-04-08 12:24:05 +02:00
mpl
b0b8b75258 Fix doc about removing headers 2019-04-05 15:18:04 +02:00
Ludovic Fernandez
2e19e45aa4 Remove github.com/satori/go.uuid. 2019-04-05 12:44:03 +02:00
Manuel Zapf
e1d097ea20 Add Rancher provider again 2019-04-05 12:22:04 +02:00
Ludovic Fernandez
ed12366d52 Update tracing dependencies 2019-04-05 11:58:06 +02:00
mpl
49563e638b Fix response modifier initial building
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-04-04 11:50:04 +02:00
mpl
336135c392 Set X-Forwarded-* headers
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-04-02 16:56:04 +02:00
Daniel Tomcej
d2b38e6ac4 Enable CORS configuration 2019-04-02 10:40:04 +02:00
Ludovic Fernandez
da20db862d fix: validation system 2019-04-01 15:30:07 +02:00
Alex Antonov
1bcb3d8cc2 Added support for configuring trace headers for DataDog tracing 2019-03-29 18:46:04 +01:00
Ludovic Fernandez
2916f540c1 Remove BaseProvider 2019-03-27 15:02:06 +01:00
mpl
3e76c25887 Document the TLS with ACME case
Co-authored-by: Julien Salleyron <julien.salleyron@gmail.com>
2019-03-26 11:12:04 +01:00
Ludovic Fernandez
2e085fa253 Remove old links in readme 2019-03-22 15:16:06 +01:00
Julien Salleyron
f8f7edd124 Fix panic while server shutdown 2019-03-21 15:54:07 +01:00
Julien Salleyron
0f2c4fb5f4 Add support for tcp labels in docker provider 2019-03-21 15:22:06 +01:00
mpl
f99a473436 Fix log msgs about label selector 2019-03-19 17:30:04 +01:00
Julien Salleyron
cb417b8077 Fix problem in aggregator provider 2019-03-19 10:04:04 +01:00
Julien Salleyron
50e24f461c Remove IngressEndpoint in CRD provider 2019-03-18 14:38:04 +01:00
Ludovic Fernandez
72ffa91fe0 Clean old 2019-03-18 11:30:07 +01:00
Julien Salleyron
f3ecc040c8 (re)Add update ingress status 2019-03-18 10:10:04 +01:00
Ludovic Fernandez
e271378a97 Clean files during tests. 2019-03-18 09:34:03 +01:00
Michael
5d050ae3ac Allow user to configure traefik log 2019-03-15 15:46:06 +01:00
Julien Salleyron
615ceab597 Fix lock problem in server 2019-03-15 10:04:05 +01:00
Ludovic Fernandez
f1b085fa36 Move code to pkg 2019-03-15 09:42:03 +01:00