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
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
Ludovic Fernandez
328611c619
Update linter
2020-05-11 12:06:07 +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
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
0c28630948
Fix sameSite (Traefik v2)
2020-03-23 11:24:05 +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
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
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
Fernandez Ludovic
e9d0a16a3b
Merge 'v2.1' into master
2020-02-29 00:59:18 +01:00
Robin Müller
18d90ecd96
Do not follow redirects for the health check URLs
2020-02-26 17:28:04 +01:00
Ma Zi'ang
98f304f8b0
Use EDF schedule algorithm for WeightedRoundRobin
2020-02-26 11:56:05 +01:00
Julien Salleyron
1e7f34c271
Launch healhcheck only one time instead of two
2020-02-25 16:30:05 +01:00
Daniel Tomcej
a474e196ea
Add TLSStores to Kubernetes CRD
2020-02-24 17:14:06 +01:00
Julien Salleyron
ee6d28b25e
Build all UDP services on an entrypoint
2020-02-17 18:02:04 +01:00
Ludovic Fernandez
c33348e80c
fix: return an error when ping is not enabled.
2020-02-11 16:06:06 +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
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
1b63c95c4e
Fix kubernetes providers shutdown and clean safe.Pool
2020-02-03 17:56:04 +01:00
mpl
16288d171c
use provider-qualified name when recursing for chain
2020-01-27 10:40:05 +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
Fernandez Ludovic
da3d814c8b
Merge branch 'v2.1' into master
2020-01-07 19:13:48 +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
Dmitry Sharshakov
4f669bdd66
Don't set user-agent to Go-http-client/1.1
2019-12-18 11:22:06 +01:00
Fernandez Ludovic
2d3fc613ec
Merge branch 'v2.1' into master
2019-12-11 22:14:26 +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
Antoine
0e6dce7093
Do not stop to listen on tcp listeners on temporary errors
2019-12-04 16:26:05 +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
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
Amine Benseddik
fe8b090911
Elastic APM tracer implementation
2019-11-27 16:00:07 +01:00
Maxim Fominykh
bd75eddc8e
Duration order consistency when multiplying number by time unit
2019-11-26 21:38:03 +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
Ludovic Fernandez
3410541a2f
Conditionnal compression based on Content-Type
2019-10-31 11:36:05 +01:00
Ludovic Fernandez
8f000423ed
fix: default tracing backend.
2019-10-28 12:26:05 +01:00
Michael
a6cdd701e2
Set proxy protocol logger to DEBUG level
2019-10-24 10:02:06 +02:00
Ludovic Fernandez
48f11900d3
fix: default passHostHeader for file provider.
2019-09-30 18:12:04 +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
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
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
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
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
Ludovic Fernandez
6e8138e19b
Update golangci-lint
2019-09-10 17:52:04 +02:00
Julien Salleyron
34be181706
Add provider in middleware chain
2019-09-10 16:12:05 +02:00
Ludovic Fernandez
25f4c23ab2
Write HTTP server logs into the global logger.
2019-09-09 14:52:04 +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
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
Ludovic Fernandez
306e5081d9
fix: Datadog case.
2019-09-02 03:18:04 -07:00
Julien Salleyron
38508f9a9c
Fix recovered panic when websocket is mirrored
2019-08-29 01:28:05 -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
Julien Salleyron
6fed76a687
WeightedRoundRobin load balancer
...
Co-authored-by: Ludovic Fernandez <ldez@users.noreply.github.com>
2019-08-26 01:30:05 -07:00
Fernandez Ludovic
4c5e7a238d
chore: go module
2019-08-12 05:06:04 -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
Michael
8e97af8dc3
Add Metrics
2019-07-18 21:36: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
Daniel Tomcej
51486b18fa
Enhance REST provider
2019-07-13 01:24: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
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
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
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
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
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
Ludovic Fernandez
c2345c6e9a
Don't add TCP proxy when error occurs during creation.
2019-05-09 14:30:06 +02:00
Ludovic Fernandez
2e19e45aa4
Remove github.com/satori/go.uuid.
2019-04-05 12:44:03 +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
Ludovic Fernandez
da20db862d
fix: validation system
2019-04-01 15:30:07 +02:00
Julien Salleyron
f8f7edd124
Fix panic while server shutdown
2019-03-21 15:54:07 +01:00
Ludovic Fernandez
72ffa91fe0
Clean old
2019-03-18 11:30:07 +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