Commit graph

430 commits

Author SHA1 Message Date
Julien Salleyron 602a2ea541 Adds mirroring service 2019-08-26 10:00:04 -07:00
Ludovic Fernandez 89150e1164 Update to go1.13rc1 2019-08-26 06:06:05 -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
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
Fernandez Ludovic 0f32de4aa2 tests: improve timeout.
- upgrade k3s to v0.8.0
2019-08-12 05:06:04 -07:00
Fernandez Ludovic 4c5e7a238d chore: go module 2019-08-12 05:06:04 -07:00
Daniel Tomcej cd164de776 Add Feature-Policy header support 2019-07-29 07:12:05 -07: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
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 c8bf8e896a Move dynamic config into a dedicated package. 2019-07-10 09:26:04 +02:00
Jean-Baptiste Doumenjou 8ab33db51a Renamed kubernetes provider in kubernetesIngress provider 2019-07-08 21:36:03 +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
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
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
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
Ludovic Fernandez adc9a65ae3 Use name@provider instead of provider@name. 2019-06-21 09:54: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
Michael 68ecf78f0e Upgrade k3s version 2019-06-18 22:32: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
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
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
Daniel Tomcej 5a173fa968 Allow matching with FQDN hosts with trailing periods 2019-05-06 17:16:03 +02:00
Julien Salleyron bb8a193244 log.loglevel becomes log.level in configuration 2019-04-16 15:30:09 +02:00
Ludovic Fernandez 8389b46b5c Use the same case every where for entryPoints. 2019-04-15 11:14:05 +02:00
Ludovic Fernandez 0750235712 fix: configuration for integration tests. 2019-04-09 17:24:05 +02:00
Ludovic Fernandez ed12366d52 Update tracing dependencies 2019-04-05 11:58:06 +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
mpl 0779c6a139 Full ACME+CRD example
Co-authored-by: Jean-Baptiste Doumenjou <jb.doumenjou@gmail.com>
2019-03-27 15:16:04 +01:00
Julien Salleyron 0f2c4fb5f4 Add support for tcp labels in docker provider 2019-03-21 15:22:06 +01:00
Ludovic Fernandez 72ffa91fe0 Clean old 2019-03-18 11:30:07 +01:00
Ludovic Fernandez f1b085fa36 Move code to pkg 2019-03-15 09:42:03 +01:00
Jean-Baptiste Doumenjou bd4c822670 Update anonymize/collect 2019-03-14 19:32:03 +01:00
Ludovic Fernandez 4c060a78cc Custom resource definition
Co-authored-by: Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
2019-03-14 15:56:06 +01:00
Julien Salleyron 4a68d29ce2 Add a new protocol
Co-authored-by: Gérald Croës <gerald@containo.us>
2019-03-14 09:30:04 +01:00
SALLEYRON Julien 0cfaab02c0 k8s integration tests 2019-03-11 14:54:05 +01:00
Ludovic Fernandez ebded2cbc0 feat: new linting system. 2019-03-04 16:40:05 +01:00
Ludovic Fernandez fb617044e0 Update to Go1.12
Co-authored-by: juliens <julien@containo.us>
2019-03-01 11:48:04 +01:00
Ludovic Fernandez c2c6aee18a Applies new goimports recommendations. 2019-02-18 07:52:03 +01:00
SALLEYRON Julien db13dbdf46 fix missing trailers with retry 2019-02-13 17:26:04 +01:00
SALLEYRON Julien 9ebe3c38b2 New rule syntax
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2019-01-30 16:24:07 +01:00
Ludovic Fernandez e5fb1ffeb7 Updates lego. 2019-01-30 14:00:05 +01:00
Timo Reimann 97bd92c76f Assert that test timeout service is ready. 2019-01-30 14:00:05 +01:00
Ludovic Fernandez 246b245959 Adds Marathon support.
Co-authored-by: Julien Salleyron <julien@containo.us>
2019-01-29 17:54:05 +01:00
Gérald Croës a433e469cc SchemeRedirect Middleware
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2019-01-22 08:30:04 +01:00
Ludovic Fernandez 04958c6951 Adds default rule system on Docker provider.
Co-authored-by: Julien Salleyron <julien@containo.us>
2019-01-21 19:06:02 +01:00
Ludovic Fernandez b54c956c5e Adds Docker provider support
Co-authored-by: Julien Salleyron <julien@containo.us>
2019-01-18 15:18:04 +01:00
Gérald Croës 8735263930 Enables the use of elements declared in other providers 2019-01-15 14:28:04 +01:00
Fernandez Ludovic 0b436563bd refactor: remove old acme provider. 2019-01-08 14:32:04 +01:00
Daniel Tomcej 5b3762be08 Implement Case-insensitive SNI matching 2018-12-04 11:42:03 +01:00
SALLEYRON Julien c815a732ef Migrate rest provider 2018-12-03 11:32:05 +01:00
SALLEYRON Julien 5d91c7e15c Remove old global config and use new static config 2018-11-27 17:42:04 +01:00
Ludovic Fernandez b6498cdcbc Cherry pick v1.7 into master 2018-11-19 16:40:03 +01:00
Ludovic Fernandez a09dfa3ce1 Dynamic Configuration Refactoring 2018-11-14 10:18:03 +01:00
Fernandez Ludovic d3ae88f108 Merge tag 'v1.7.4' into master 2018-10-30 12:34:00 +01:00
SALLEYRON Julien e6e9a86919 Add flush interval option on backend 2018-10-29 18:42:03 +01:00
Brendan LE GLAUNEC 55334b2062 Fix display of client username field 2018-10-25 18:00:05 +02:00
Daniel Tomcej 82b2a102ed Add double wildcard test 2018-10-23 18:04:05 +02:00
Gérald Croës e6a88f3531 Uses ASCII characters to spell Traefik 2018-10-17 16:24:04 +02:00
SALLEYRON Julien 95d86d84b4 Add keepTrailingSlash option 2018-10-17 14:22:03 +02:00
Jean-Baptiste Doumenjou ba99fbe390 Fix certificate insertion loop to keep valid certificate and ignore the bad one 2018-10-16 11:00:04 +02:00
Fernandez Ludovic 6dcb51a4bd Merge 'v1.7.3' into master 2018-10-15 13:13:48 +02:00
Michael b722748ec3 Fix update oxy 2018-10-10 18:20:05 +02:00
Nic Cope 32f7fb8bff Make Zipkin trace rate configurable 2018-10-09 10:18:02 +02:00
SALLEYRON Julien 8cc3c4a6b7 Use the first static certificate as a fallback when no default is given 2018-09-29 00:04:02 +02:00
Jared Biel 5acd43efaf Add health check timeout parameter 2018-09-27 20:16:03 +02:00
Fernandez Ludovic fdf14cd101 Merge 'v1.7' into master 2018-09-18 15:48:28 +02:00
Daniel Tomcej ab2c98d931 Ensure only certificates from ACME enabled entrypoint are used 2018-09-18 08:22:03 +02:00
Fernandez Ludovic bd4846aa9c Merge branch 'v1.7' into master 2018-09-07 19:33:01 +02:00
SALLEYRON Julien f400292be7 Enable retry on websocket 2018-08-29 11:58:03 +02:00
Jean-Baptiste Doumenjou efc6560d83 Pass the TLS Cert infos in headers 2018-08-29 11:36:03 +02:00
Fernandez Ludovic 4055654e9b Merge branch 'v1.7' into master 2018-08-28 17:04:39 +02:00
Wim Fournier f586950528 multiple frontends for consulcatalog 2018-08-27 17:00:05 +02:00
SALLEYRON Julien 00728e711c IPStrategy for selecting IP in whitelist 2018-08-24 16:20:03 +02:00
Daniel Tomcej 870755e90d Extend https redirection tests, and fix incorrect behavior 2018-08-14 18:38:04 +02:00
Gérald Croës 1ec4e03738 Remove etcd v2 2018-08-07 19:12:03 +02:00
Michael 9cd47dd2aa Small code enhancements 2018-08-06 20:00:03 +02:00
Gérald Croës 015cd7a3d0 Remove deprecated elements 2018-08-06 17:20:03 +02:00
Fernandez Ludovic dad0e75121 Merge branch 'v1.7' into master 2018-08-02 17:28:44 +02:00
Ludovic Fernandez d62f7e2082 Use official Pebble Image. 2018-08-01 16:56:04 +02:00
Jean-Baptiste Doumenjou 8627256e74 Remove Deprecated Step 1 2018-07-31 19:28:03 +02:00
Daniel Tomcej 91cafd1752 Correct Entrypoint Redirect with Stripped or Added Path 2018-07-31 11:28:03 +02:00
Michael baf8d63cb4 Improve TLS integration tests 2018-07-31 10:48:03 +02:00
Michael 73b4df4e18 Remove TLS in API 2018-07-26 12:42:03 +02:00
NicoMen 14b7152bf0 Serve TLS-Challenge certificate in first 2018-07-12 19:10:03 +02:00
Jean-Baptiste Doumenjou 79bf19c897 Auth support in frontends 2018-07-06 16:52:04 +02:00
Daniel Tomcej 689f120410 Improve TLS Handshake 2018-07-06 10:30:03 +02:00
Trevin Teacutter 04d8b5d483 Adding compatibility for marathon 1.5 2018-07-03 23:42:03 +02:00
Gamalan 31a8e3e39a CNAME flattening 2018-07-03 16:44:05 +02:00
Ludovic Fernandez 139f280f35 ACME TLS ALPN 2018-07-03 12:44:04 +02:00
Ludovic Fernandez 17ad5153b8 Minor changes 2018-07-03 10:02:03 +02:00
Ludovic Fernandez 9e012a6b54 Simplify acme e2e tests. 2018-06-27 15:08:05 +02:00
Fernandez Ludovic 586ba31120 Merge v1.6.4 into master 2018-06-15 17:58:20 +02:00
Ludovic Fernandez 5b2b29043c Use logrus writer instead of os.Stderr 2018-06-15 16:08:03 +02:00
Ludovic Fernandez eac20d61df Extreme Makeover: server refactoring 2018-06-11 11:36:03 +02:00
Fernandez Ludovic a5beeb4f04 Merge tag 'v1.6.3' into master 2018-06-05 23:07:53 +02:00
Michael e299775d67 Detect change when service or node are in maintenance mode 2018-06-05 16:42:03 +02:00
Ludovic Fernandez 6d07729c55 Add URL and Host for some access logs. 2018-06-05 09:02:03 +02:00
The Binary 1d7bf200a8 Reflect changes in catalog healthy nodes in healthCheck watch 2018-06-05 08:42:03 +02:00
SALLEYRON Julien e76836b948 h2c server 2018-05-28 11:46:03 +02:00
SALLEYRON Julien 9420308667 Implement h2c with backend 2018-05-24 10:52:04 +02:00
Ingo Gottwald 83e09acc9f Upgrade dependencies 2018-05-23 17:48:04 +02:00
Michael 68cc826519 Add option to select algorithm to generate ACME certificates 2018-05-16 11:44:03 +02:00
Ludovic Fernandez d8e2d464ad Remove dead code. 2018-04-23 10:54:03 +02:00
Jean-Baptiste Doumenjou f0589b310f Fix multiple frontends with docker-compose --scale 2018-04-16 18:14:04 +02:00
Ludovic Fernandez 8168d2fdc1 Server weight zero 2018-04-11 16:30:04 +02:00
NicoMen 3be74bb275 Fix acme.json file automatic creation 2018-04-10 10:52:04 +02:00
Alexander Kachkaev 66485e81b4 Normalize parameter names in configs 2018-04-06 09:38:03 +02:00
Fernandez Ludovic ff61cc971e refactor: Consul Catalog labels. 2018-04-04 11:52:05 +02:00
NicoMen 16bb9b6836 ACME V2 Integration 2018-03-26 14:12:03 +02:00
ravilr 5792a19b97 Toggle /ping to artificially return unhealthy response on SIGTERM during requestAcceptGraceTimeout interval 2018-03-22 18:18:03 +01:00
Michael 8d468925d3 Ultimate Access log filter 2018-03-14 14:12:04 +01:00
Fernandez Ludovic 526a04d4c8 Merge branch 'v1.5' into master 2018-03-13 11:38:21 +01:00
Ludovic Fernandez fc81d92c88 Enhance Traefik TOML sample. 2018-03-12 10:40:04 +01:00
NicoMen c4529820f2 Delete TLS-SNI-01 challenge from ACME 2018-03-06 14:50:03 +01:00
NicoMen d3edccb839 Check all the C/N and SANs of provided certificates before generating ACME certificates in ACME provider 2018-03-06 10:12:04 +01:00
NicoMen 8380de1bd9 Create ACME Provider 2018-03-05 20:54:04 +01:00
Fernandez Ludovic a2db3e0499 Merge branch 'v1.5' into master 2018-02-27 14:10:24 +01:00
Michael e28ebf1c62 Change port of traefik for error pages integration test 2018-02-23 10:52:03 +01:00
Fernandez Ludovic 21e28ae848 Merge branch 'v1.5' into master 2018-02-21 16:55:57 +01:00
Michael 31550fd2c9 Replace nginx by whoami in integration tests 2018-02-21 16:28:03 +01:00
Fernandez Ludovic b9d8eff994 refactor: some minor changes. 2018-02-19 10:54:03 +01:00
SALLEYRON Julien 45fe218ee2 Isolate backend with same name on different provider 2018-02-16 11:04:04 +01:00
Fernandez Ludovic f5adea1061 Merge branch 'v1.5' into master 2018-02-07 16:20:40 +01:00
SALLEYRON Julien afe4c307f9 Traefik still start when Let's encrypt is down 2018-02-05 18:20:04 +01:00
Ludovic Fernandez dcba74deb9 Display file log when test fails. 2018-02-05 09:48:03 +01:00
Marco Jantke ef4aa202d0 Fix high memory usage in retry middleware 2018-01-26 18:22:03 +01:00
Michael 9f741abd84 Fix integration tests in tracing 2018-01-25 12:00:05 +01:00
Bastiaan Bakker 32ccc26712 Add username in accesslog 2018-01-24 18:18:03 +01:00
NicoMen 563a0bd274 Migrate from libkv to valkeyrie library 2018-01-24 17:52:03 +01:00
Fernandez Ludovic c878d262bf refactor: remove Tracing integration tests. 2018-01-24 15:20:47 +01:00
Fernandez Ludovic c8446c2dc8 Merge branch 'v1.5' into master 2018-01-24 15:11:21 +01:00