feat(common): restructure traefik/ingress middlewares (#31171)
**Description** moves the middlewares around and adds unit tests **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [x] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] 🔃 Refactor of current code **🧪 How Has This Been Tested?** <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> **📃 Notes:** <!-- Please enter any other relevant information here --> **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning - [ ] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):` or `chore(chart-name):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl> Co-authored-by: Stavros Kois <s.kois@outlook.com> Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
co-authored by
Stavros Kois
Stavros Kois
parent
1d24bd1c0a
commit
a27d735b9d
@@ -7,7 +7,7 @@ apiVersion: v2
|
||||
appVersion: unknown
|
||||
dependencies:
|
||||
- name: common
|
||||
version: ~25.4.0
|
||||
version: ~25.5.0
|
||||
repository: file://../common/
|
||||
condition: ""
|
||||
alias: ""
|
||||
|
||||
@@ -20,7 +20,8 @@ tests:
|
||||
annotations:
|
||||
g_annotation1: global_annotation1
|
||||
g_annotation2: "{{ .Values.annotation2 }}"
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -67,7 +68,8 @@ tests:
|
||||
|
||||
- it: should pass with middlewares created with namespace
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -83,7 +85,8 @@ tests:
|
||||
- it: should pass with middlewares created with object namespace from tpl
|
||||
set:
|
||||
key: some-namespace
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -101,7 +104,8 @@ tests:
|
||||
key: global-namespace
|
||||
global:
|
||||
namespace: "{{ .Values.key }}"
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -119,7 +123,8 @@ tests:
|
||||
namespace: "{{ .Values.key }}"
|
||||
global:
|
||||
namespace: global-namespace
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: add-prefix
|
||||
@@ -26,7 +27,8 @@ tests:
|
||||
|
||||
- it: should fail with missing prefix
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: add-prefix
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
@@ -55,7 +56,8 @@ tests:
|
||||
|
||||
- it: should fail with missing both users and secret
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
@@ -67,7 +69,8 @@ tests:
|
||||
|
||||
- it: should fail with both secret and users set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -34,7 +35,8 @@ tests:
|
||||
|
||||
- it: should pass with only maxRequestBodyBytes set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -50,7 +52,8 @@ tests:
|
||||
|
||||
- it: should render 0 and non-null values
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: chain
|
||||
@@ -31,7 +32,8 @@ tests:
|
||||
|
||||
- it: should fail with missing middlewares
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: chain
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: compress
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: content-type
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with values
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
@@ -42,7 +43,8 @@ tests:
|
||||
|
||||
- it: should fail with missing address
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
@@ -54,7 +56,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid authResponseHeaders
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
@@ -67,7 +70,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid authRequestHeaders
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
@@ -80,7 +84,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid tls.insecureSkipVerify
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
@@ -94,7 +99,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid trustForwardHeader
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: headers
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: ip-allow-list
|
||||
@@ -36,7 +37,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid sourceRange
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: ip-allow-list
|
||||
@@ -48,7 +50,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid ipStrategy.excludedIPs
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: ip-allow-list
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
@@ -136,7 +137,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
@@ -154,7 +156,8 @@ tests:
|
||||
|
||||
- it: should fail with missing enabled
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
@@ -166,7 +169,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid enabled
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
@@ -54,7 +55,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
@@ -78,7 +80,8 @@ tests:
|
||||
|
||||
- it: should fail with missing api
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
@@ -90,7 +93,8 @@ tests:
|
||||
|
||||
- it: should fail with missing countries
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-mod-security
|
||||
@@ -28,7 +29,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-mod-security
|
||||
@@ -46,7 +48,8 @@ tests:
|
||||
|
||||
- it: should fail with missing modSecurityUrl
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-mod-security
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-real-ip
|
||||
@@ -28,7 +29,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-real-ip
|
||||
@@ -50,7 +52,8 @@ tests:
|
||||
|
||||
- it: should fail with missing excludednets
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-real-ip
|
||||
|
||||
+14
-7
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -36,7 +37,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -60,7 +62,8 @@ tests:
|
||||
|
||||
- it: should fail with missing header
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -74,7 +77,8 @@ tests:
|
||||
|
||||
- it: should fail with missing regex
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -88,7 +92,8 @@ tests:
|
||||
|
||||
- it: should fail with missing replacement
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -102,7 +107,8 @@ tests:
|
||||
|
||||
- it: should fail with missing rewrites
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
@@ -114,7 +120,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid rewrites
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
@@ -34,7 +35,8 @@ tests:
|
||||
|
||||
- it: should pass with pluginName set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
@@ -54,7 +56,8 @@ tests:
|
||||
|
||||
- it: should fail with missing app
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
@@ -66,7 +69,8 @@ tests:
|
||||
|
||||
- it: should fail with missing theme
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: rate-limit
|
||||
@@ -24,7 +25,8 @@ tests:
|
||||
burst: 2000
|
||||
- it: should fail with missing average and burst
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: rate-limit
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
@@ -30,7 +31,8 @@ tests:
|
||||
|
||||
- it: should fail with missing regex
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
@@ -43,7 +45,8 @@ tests:
|
||||
|
||||
- it: should fail with missing replacement
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
@@ -56,7 +59,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid permanent
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-scheme
|
||||
@@ -28,7 +29,8 @@ tests:
|
||||
|
||||
- it: should fail with missing scheme
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-scheme
|
||||
@@ -40,7 +42,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid permanent
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: redirect-scheme
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: replace-path-regex
|
||||
@@ -28,7 +29,8 @@ tests:
|
||||
|
||||
- it: should fail with missing regex
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: replace-path-regex
|
||||
@@ -40,7 +42,8 @@ tests:
|
||||
|
||||
- it: should fail with missing replacement
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: replace-path-regex
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: replace-path
|
||||
@@ -26,7 +27,8 @@ tests:
|
||||
|
||||
- it: should fail with missing path
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: replace-path
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: retry
|
||||
@@ -28,7 +29,8 @@ tests:
|
||||
|
||||
- it: should fail with missing attempts
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: retry
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: strip-prefix
|
||||
@@ -32,7 +33,8 @@ tests:
|
||||
|
||||
- it: should fail with missing prefix
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: strip-prefix
|
||||
@@ -44,7 +46,8 @@ tests:
|
||||
|
||||
- it: should fail with invalid forceSlash
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: strip-prefix
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should pass with all set
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: strip-prefix-regex
|
||||
@@ -30,7 +31,8 @@ tests:
|
||||
|
||||
- it: should fail with missing regex
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: strip-prefix-regex
|
||||
|
||||
@@ -7,7 +7,8 @@ release:
|
||||
tests:
|
||||
- it: should generate correct name
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware1:
|
||||
enabled: true
|
||||
type: buffering
|
||||
|
||||
@@ -7,9 +7,10 @@ release:
|
||||
tests:
|
||||
- it: should fail with name longer than 253 characters
|
||||
set:
|
||||
middlewares:
|
||||
? my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-long-long-long-long-long-long-long-name
|
||||
: enabled: true
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-name-that-is-longer-than-253-characters-my-middleware-super-long-long-long-long-long-long-long-long-name:
|
||||
enabled: true
|
||||
type: buffering
|
||||
data:
|
||||
foo: bar
|
||||
@@ -19,7 +20,8 @@ tests:
|
||||
|
||||
- it: should fail with name starting with underscore
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
_my-middleware:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -31,7 +33,8 @@ tests:
|
||||
|
||||
- it: should fail with namespace longer than 63 characters
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -44,7 +47,8 @@ tests:
|
||||
|
||||
- it: should fail with labels not a dict
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -57,7 +61,8 @@ tests:
|
||||
|
||||
- it: should fail with annotations not a dict
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -70,7 +75,8 @@ tests:
|
||||
|
||||
- it: should fail with data not a dict
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled: true
|
||||
type: buffering
|
||||
@@ -81,7 +87,8 @@ tests:
|
||||
|
||||
- it: should fail with empty enabled
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled:
|
||||
data:
|
||||
@@ -92,7 +99,8 @@ tests:
|
||||
|
||||
- it: should fail with empty type
|
||||
set:
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
my-middleware:
|
||||
enabled: true
|
||||
type:
|
||||
|
||||
@@ -48,4 +48,4 @@ sources:
|
||||
- https://hub.docker.com/_/
|
||||
- https://hub.docker.com/r/mikefarah/yq
|
||||
type: library
|
||||
version: 25.4.15
|
||||
version: 25.5.0
|
||||
|
||||
@@ -5,8 +5,14 @@
|
||||
|
||||
{{- define "tc.v1.common.spawner.traefik.middleware" -}}
|
||||
{{- $fullname := include "tc.v1.common.lib.chart.names.fullname" $ -}}
|
||||
{{- if not .Values.ingressMiddlewares -}}
|
||||
{{- $_ := set $.Values "ingressMiddlewares" dict -}}
|
||||
{{- end -}}
|
||||
{{- if not .Values.ingressMiddlewares.traefik -}}
|
||||
{{- $_ := set $.Values.ingressMiddlewares "traefik" dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- range $name, $middleware := .Values.middlewares -}}
|
||||
{{- range $name, $middleware := $.Values.ingressMiddlewares.traefik -}}
|
||||
|
||||
{{- $enabled := (include "tc.v1.common.lib.util.enabled" (dict
|
||||
"rootCtx" $ "objectData" $middleware
|
||||
|
||||
@@ -235,8 +235,27 @@ credentials:
|
||||
# ## Is used in cases where things are encrypted by a backup utility
|
||||
# encrKey: ""
|
||||
|
||||
middlewares: {}
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
tc-basic-secure-headers:
|
||||
enabled: false
|
||||
type: headers
|
||||
data:
|
||||
accessControlAllowMethods:
|
||||
- GET
|
||||
- OPTIONS
|
||||
- HEAD
|
||||
- PUT
|
||||
accessControlMaxAge: 100
|
||||
stsSeconds: 63072000
|
||||
forceSTSHeader: true
|
||||
contentTypeNosniff: true
|
||||
browserXssFilter: true
|
||||
referrerPolicy: same-origin
|
||||
customRequestHeaders:
|
||||
X-Forwarded-Proto: "https"
|
||||
# basic-auth:
|
||||
# enabled: true
|
||||
# type: basicAuth
|
||||
# data:
|
||||
# # middleware specific data ie
|
||||
@@ -244,6 +263,7 @@ middlewares: {}
|
||||
# - username: user1
|
||||
# password: password1
|
||||
# some-other-middleware:
|
||||
# enabled: true
|
||||
# type: someOtherMiddleware
|
||||
# data:
|
||||
# # middleware specific data ie
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
title: Add Prefix Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/add-prefix#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/addprefix)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: add-prefix`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `prefix`
|
||||
|
||||
Define the prefix
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.data.prefix` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
prefix: some-prefix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: add-prefix
|
||||
data:
|
||||
prefix: some-prefix
|
||||
```
|
||||
@@ -1,152 +0,0 @@
|
||||
---
|
||||
title: Basic Auth Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/basic-auth#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/basicauth)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: basic-auth`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `users`
|
||||
|
||||
Define the users
|
||||
|
||||
:::note
|
||||
|
||||
If this is set, the `secret` key must not be set.
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.users` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `users[].username`
|
||||
|
||||
Define the username
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.users.username` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `users[].password`
|
||||
|
||||
Define the password
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.users.password` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `secret`
|
||||
|
||||
Define the secret
|
||||
|
||||
:::note
|
||||
|
||||
If this is set, the `users` key must not be set.
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.data.secret` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
secret: some-secret
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name1:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
middleware-name2:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
data:
|
||||
secret: some-secret
|
||||
```
|
||||
@@ -1,146 +0,0 @@
|
||||
---
|
||||
title: Buffering Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/buffering#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/buffering)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: buffering`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `maxRequestBodyBytes`
|
||||
|
||||
Define the maxRequestBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.maxRequestBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
maxRequestBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `memRequestBodyBytes`
|
||||
|
||||
Define the memRequestBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.memRequestBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
memRequestBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `maxResponseBodyBytes`
|
||||
|
||||
Define the maxResponseBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.maxResponseBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
maxResponseBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `memResponseBodyBytes`
|
||||
|
||||
Define the memResponseBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.memResponseBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
memResponseBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `retryExpression`
|
||||
|
||||
Define the retryExpression
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.retryExpression` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
retryExpression: "some-expression"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: buffering
|
||||
data:
|
||||
maxRequestBodyBytes: 1024
|
||||
memRequestBodyBytes: 1024
|
||||
maxResponseBodyBytes: 1024
|
||||
memResponseBodyBytes: 1024
|
||||
retryExpression: "some-expression"
|
||||
```
|
||||
@@ -1,105 +0,0 @@
|
||||
---
|
||||
title: Chain Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/chain#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/chain)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: chain`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `middlewares`
|
||||
|
||||
Define the middlewares
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.middlewares` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares: []
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `middlewares[].name`
|
||||
|
||||
Define the middleware name
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.middlewares.name` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares:
|
||||
- name: some-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `middlewares[].expandObjectName`
|
||||
|
||||
Define the middleware expandObjectName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.middlewares.expandObjectName` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `true` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares:
|
||||
- name: some-name
|
||||
expandObjectName: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: compress
|
||||
```
|
||||
@@ -1,207 +0,0 @@
|
||||
---
|
||||
title: Forward Auth Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/forward-auth#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/forwardauth)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: forward-auth`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `address`
|
||||
|
||||
Define the address
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------- |
|
||||
| Key | `middlewares.$name.data.address` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
address: some-address
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authResponseHeadersRegex`
|
||||
|
||||
Define the authResponseHeadersRegex
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.authResponseHeadersRegex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
authResponseHeadersRegex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `trustForwardHeader`
|
||||
|
||||
Define the trustForwardHeader
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.trustForwardHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `false` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
trustForwardHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authResponseHeaders`
|
||||
|
||||
Define the authResponseHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.authResponseHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `[]` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
authResponseHeaders:
|
||||
- some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authRequestHeaders`
|
||||
|
||||
Define the authRequestHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.authRequestHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `[]` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
authRequestHeaders:
|
||||
- some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `tls`
|
||||
|
||||
Define the tls
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------- |
|
||||
| Key | `middlewares.$name.data.tls` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
tls: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `tls.insecureSkipVerify`
|
||||
|
||||
Define the tls.insecureSkipVerify
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.tls.insecureSkipVerify` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `false` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
tls:
|
||||
insecureSkipVerify: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
data:
|
||||
address: some-address
|
||||
authResponseHeadersRegex: some-regex
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- some-header
|
||||
authRequestHeaders:
|
||||
- some-header
|
||||
tls:
|
||||
insecureSkipVerify: true
|
||||
```
|
||||
@@ -1,748 +0,0 @@
|
||||
---
|
||||
title: Headers Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/headers#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/headers)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: headers`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `customRequestHeaders`
|
||||
|
||||
Define the customRequestHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.customRequestHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
customRequestHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customResponseHeaders`
|
||||
|
||||
Define the customResponseHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.customResponseHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
customResponseHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowCredentials`
|
||||
|
||||
Define the accessControlAllowCredentials
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.accessControlAllowCredentials` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowCredentials: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowHeaders`
|
||||
|
||||
Define the accessControlAllowHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlAllowHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowMethods`
|
||||
|
||||
Define the accessControlAllowMethods
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlAllowMethods` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowMethods:
|
||||
- GET
|
||||
- POST
|
||||
- PUT
|
||||
- DELETE
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowOriginList`
|
||||
|
||||
Define the accessControlAllowOriginList
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlAllowOriginList` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowOriginList:
|
||||
- some-origin
|
||||
- some-other-origin
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowOriginListRegex`
|
||||
|
||||
Define the accessControlAllowOriginListRegex
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlAllowOriginList` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowOriginListRegex:
|
||||
- some-origin-regex
|
||||
- some-other-origin-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlExposeHeaders`
|
||||
|
||||
Define the accessControlExposeHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlExposeHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlExposeHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlMaxAge`
|
||||
|
||||
Define the accessControlMaxAge
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.accessControlMaxAge` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlMaxAge: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addVaryHeader`
|
||||
|
||||
Define the addVaryHeader
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------- |
|
||||
| Key | `middlewares.$name.data.addVaryHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
addVaryHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowedHosts`
|
||||
|
||||
Define the allowedHosts
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------- |
|
||||
| Key | `middlewares.$name.data.allowedHosts` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
allowedHosts:
|
||||
- some-host
|
||||
- some-other-host
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `hostsProxyHeaders`
|
||||
|
||||
Define the hostsProxyHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.hostsProxyHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
hostsProxyHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `sslProxyHeaders`
|
||||
|
||||
Define the sslProxyHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.sslProxyHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
sslProxyHeaders:
|
||||
some-header: some-value
|
||||
some-other-header: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsSeconds`
|
||||
|
||||
Define the stsSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.stsSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
stsSeconds: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsIncludeSubdomains`
|
||||
|
||||
Define the stsIncludeSubdomains
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.stsIncludeSubdomains` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
stsIncludeSubdomains: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsPreload`
|
||||
|
||||
Define the stsPreload
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.stsPreload` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
stsPreload: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceSTSHeader`
|
||||
|
||||
Define the forceSTSHeader
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.forceSTSHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
forceSTSHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `frameDeny`
|
||||
|
||||
Define the frameDeny
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.frameDeny` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
frameDeny: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customFrameOptionsValue`
|
||||
|
||||
Define the customFrameOptionsValue
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.customFrameOptionsValue` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
customFrameOptionsValue: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentTypeNosniff`
|
||||
|
||||
Define the contentTypeNosniff
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.contentTypeNosniff` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
contentTypeNosniff: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `browserXssFilter`
|
||||
|
||||
Define the browserXssFilter
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.browserXssFilter` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
browserXssFilter: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customBrowserXSSValue`
|
||||
|
||||
Define the customBrowserXSSValue
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.customBrowserXSSValue` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
customBrowserXSSValue: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentSecurityPolicy`
|
||||
|
||||
Define the contentSecurityPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.contentSecurityPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
contentSecurityPolicy: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentSecurityPolicyReportOnly`
|
||||
|
||||
Define the contentSecurityPolicyReportOnly
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.contentSecurityPolicy` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
contentSecurityPolicyReportOnly: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `publicKey`
|
||||
|
||||
Define the publicKey
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.publicKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
publicKey: some-public-key
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `referrerPolicy`
|
||||
|
||||
Define the referrerPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.referrerPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
referrerPolicy: some-referrer-policy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permissionsPolicy`
|
||||
|
||||
Define the permissionsPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.permissionsPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
permissionsPolicy: some-permissions-policy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `isDevelopment`
|
||||
|
||||
Define the isDevelopment
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------- |
|
||||
| Key | `middlewares.$name.data.isDevelopment` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
isDevelopment: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: headers
|
||||
data:
|
||||
customRequestHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
customResponseHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
accessControlAllowCredentials: true
|
||||
accessControlAllowHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
accessControlAllowMethods:
|
||||
- GET
|
||||
- DELETE
|
||||
accessControlAllowOriginList:
|
||||
- some-origin
|
||||
- some-other-origin
|
||||
accessControlAllowOriginListRegex:
|
||||
- some-origin-regex
|
||||
- some-other-origin-regex
|
||||
accessControlExposeHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
accessControlMaxAge: 1000
|
||||
addVaryHeader: true
|
||||
allowedHosts:
|
||||
- some-host
|
||||
- some-other-host
|
||||
hostsProxyHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
sslProxyHeaders:
|
||||
some-header: some-value
|
||||
some-other-header: some-other-value
|
||||
stsSeconds: 1000
|
||||
stsIncludeSubdomains: true
|
||||
stsPreload: true
|
||||
forceSTSHeader: true
|
||||
frameDeny: true
|
||||
customFrameOptionsValue: some-value
|
||||
contentTypeNosniff: true
|
||||
browserXssFilter: true
|
||||
customBrowserXSSValue: some-value
|
||||
contentSecurityPolicy: some-value
|
||||
contentSecurityPolicyReportOnly: true
|
||||
publicKey: some-public-key
|
||||
referrerPolicy: some-referrer-policy
|
||||
permissionsPolicy: some-permissions-policy
|
||||
isDevelopment: true
|
||||
```
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Middlewares
|
||||
title: Ingress Middlewares
|
||||
---
|
||||
|
||||
:::note
|
||||
@@ -11,7 +11,7 @@ title: Middlewares
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares`
|
||||
- `.Values.ingressMiddlewares`
|
||||
|
||||
## Naming scheme
|
||||
|
||||
@@ -25,13 +25,13 @@ title: Middlewares
|
||||
|
||||
---
|
||||
|
||||
## `middlewares`
|
||||
## `ingressMiddlewares`
|
||||
|
||||
Create Middleware objects
|
||||
|
||||
| | |
|
||||
| ---------- | ------------- |
|
||||
| Key | `middlewares` |
|
||||
| ---------- | -------------------- |
|
||||
| Key | `ingressMiddlewares` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
@@ -40,18 +40,25 @@ Create Middleware objects
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares: {}
|
||||
ingressMiddlewares: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `$name`
|
||||
### `$provider`
|
||||
|
||||
Define Middleware
|
||||
|
||||
:::note
|
||||
|
||||
- Available providers are:
|
||||
- [traefik](/common/middlewares/traefik)
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------- |
|
||||
| Key | `middlewares.$name` |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `ingressMiddlewares.$provider` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
@@ -60,19 +67,41 @@ Define Middleware
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `$name`
|
||||
|
||||
Define Middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `ingressMiddlewares.$provider.$name` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `enabled`
|
||||
##### `enabled`
|
||||
|
||||
Enables or Disables the Configmap
|
||||
Enables or Disables the Middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------- |
|
||||
| Key | `configmap.$name.enabled` |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.enabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ✅ |
|
||||
@@ -81,20 +110,21 @@ Enables or Disables the Configmap
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `expandObjectName`
|
||||
##### `expandObjectName`
|
||||
|
||||
Whether to expand (adding the fullname as prefix) the middleware name.
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `configmap.$name.expandObjectName` |
|
||||
| ---------- | ---------------------------------------------------- |
|
||||
| Key | `ingressMiddleware.$provider.$name.expandObjectName` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ✅ |
|
||||
@@ -103,20 +133,21 @@ Whether to expand (adding the fullname as prefix) the middleware name.
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
expandObjectName: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `namespace`
|
||||
##### `namespace`
|
||||
|
||||
Define the namespace for this object
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------- |
|
||||
| Key | `middlewares.$name.namespace` |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.namespace` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ✅ |
|
||||
@@ -125,46 +156,97 @@ Define the namespace for this object
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
namespace: some-namespace
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `type`
|
||||
##### `labels`
|
||||
|
||||
Additional labels for middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.labels` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ✅ (On value only) |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
labels:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
##### `annotations`
|
||||
|
||||
Additional annotations for middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.$provider.$name.annotations` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ✅ (On value only) |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
annotations:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
##### `data`
|
||||
|
||||
Define the data of the middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.data` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ✅ |
|
||||
| Example | `{}` |
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
##### `type`
|
||||
|
||||
Define the type for this object
|
||||
|
||||
Available types:
|
||||
:::note
|
||||
|
||||
- [add-prefix](/common/middlewares/add-prefix)
|
||||
- [basic-auth](/common/middlewares/basic-auth)
|
||||
- [buffering](/common/middlewares/buffering)
|
||||
- [chain](/common/middlewares/chain)
|
||||
- [compress](/common/middlewares/compress)
|
||||
- [content-type](/common/middlewares/content-type)
|
||||
- [forward-auth](/common/middlewares/forward-auth)
|
||||
- [headers](/common/middlewares/headers)
|
||||
- [ip-allow-list](/common/middlewares/ip-allow-list)
|
||||
- [plugin-bouncer](/common/middlewares/plugin-bouncer)
|
||||
- [plugin-geoblock](/common/middlewares/plugin-geoblock)
|
||||
- [plugin-mod-security](/common/middlewares/plugin-mod-security)
|
||||
- [plugin-real-ip](/common/middlewares/plugin-real-ip)
|
||||
- [plugin-rewrite-response-headers](/common/middlewares/plugin-rewrite-response-headers)
|
||||
- [plugin-theme-park](/common/middlewares/plugin-theme-park)
|
||||
- [rate-limit](/common/middlewares/rate-limit)
|
||||
- [redirect-regex](/common/middlewares/redirect-regex)
|
||||
- [redirect-scheme](/common/middlewares/redirect-scheme)
|
||||
- [replace-path-regex](/common/middlewares/replace-path-regex)
|
||||
- [replace-path](/common/middlewares/replace-path)
|
||||
- [retry](/common/middlewares/retry)
|
||||
- [strip-prefix-regex](/common/middlewares/strip-prefix-regex)
|
||||
- [strip-prefix](/common/middlewares/strip-prefix)
|
||||
See the [provider](/common/middlewares#provider) documentation for more information.
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------ |
|
||||
| Key | `middlewares.$name.type` |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.type` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
@@ -173,84 +255,19 @@ Available types:
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
type: buffering
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `labels`
|
||||
|
||||
Additional labels for middleware
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------- |
|
||||
| Key | `middlewares.$name.labels` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ✅ (On value only) |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
labels:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `annotations`
|
||||
|
||||
Additional annotations for middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.annotations` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ✅ (On value only) |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
annotations:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
#### `data`
|
||||
|
||||
Define the data of the middleware
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------ |
|
||||
| Key | `middlewares.$name.data` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ✅ |
|
||||
| Example | `{}` |
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
key: value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: buffering
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
---
|
||||
title: IP Allow List Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/ip-allow-list#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ipallowlist)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: ip-allow-list`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `sourceRange`
|
||||
|
||||
Define the sourceRange
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.sourceRange` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
sourceRange:
|
||||
- some-source-range
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `ipStrategy`
|
||||
|
||||
Define the ipStrategy
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.ipStrategy` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `ipStrategy.depth`
|
||||
|
||||
Define the ipStrategy.depth
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.ipStrategy.depth` |
|
||||
| Type | `int` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy:
|
||||
depth: 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `ipStrategy.excludedIPs`
|
||||
|
||||
Define the ipStrategy.excludedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.ipStrategy.excludedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy:
|
||||
excludedIPs:
|
||||
- some-excluded-ip
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: ip-allow-list
|
||||
data:
|
||||
sourceRange:
|
||||
- some-source-range
|
||||
ipStrategy:
|
||||
depth: 1
|
||||
excludedIPs:
|
||||
- some-excluded-ip
|
||||
```
|
||||
@@ -1,958 +0,0 @@
|
||||
---
|
||||
title: Plugin Bouncer Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-bouncer#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-bouncer`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `bouncer` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `enabled`
|
||||
|
||||
Define the enabled
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------- |
|
||||
| Key | `middlewares.$name.data.enabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logLevel`
|
||||
|
||||
Define the logLevel
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------- |
|
||||
| Key | `middlewares.$name.data.logLevel` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
logLevel: DEBUG
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `updateIntervalSeconds`
|
||||
|
||||
Define the updateIntervalSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.updateIntervalSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
updateIntervalSeconds: 60
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `updateMaxFailure`
|
||||
|
||||
Define the updateMaxFailure
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.updateMaxFailure` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
updateMaxFailure: 0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `defaultDecisionSeconds`
|
||||
|
||||
Define the defaultDecisionSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.defaultDecisionSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
defaultDecisionSeconds: 60
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `httpTimeoutSeconds`
|
||||
|
||||
Define the httpTimeoutSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.httpTimeoutSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
httpTimeoutSeconds: 10
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecMode`
|
||||
|
||||
Define the crowdsecMode
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsec` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecMode: live
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecEnabled`
|
||||
|
||||
Define the crowdsecAppsecEnabled
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecAppsecEnabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecEnabled: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecHost`
|
||||
|
||||
Define the crowdsecAppsecHost
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecAppsecHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecHost: crowdsec:7422
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecFailureBlock`
|
||||
|
||||
Define the crowdsecAppsecFailureBlock
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecAppsecFailureBlock` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecFailureBlock: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecUnreachableBlock`
|
||||
|
||||
Define the crowdsecAppsecUnreachableBlock
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecAppsecUnreachableBlock` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecUnreachableBlock: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiKey`
|
||||
|
||||
Define the crowdsecLapiKey
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiKey: privateKey-foo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiHost`
|
||||
|
||||
Define the crowdsecLapiHost
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiHost: crowdsec:8080
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiScheme`
|
||||
|
||||
Define the crowdsecLapiScheme
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsec` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiScheme: http
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSInsecureVerify`
|
||||
|
||||
Define the crowdsecLapiTLSInsecureVerify
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiTLSInsecureVerify` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSInsecureVerify: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiMachineId`
|
||||
|
||||
Define the crowdsecCapiMachineId
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecCapiMachineId` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiMachineId: login
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiPassword`
|
||||
|
||||
Define the crowdsecCapiPassword
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecCapiPassword` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiPassword: password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiScenarios`
|
||||
|
||||
Define the crowdsecCapiScenarios
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecCapiScenarios` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiScenarios:
|
||||
- crowdsecurity/http-path-traversal-probing
|
||||
- crowdsecurity/http-xss-probing
|
||||
- crowdsecurity/http-generic-bf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forwardedHeadersTrustedIPs`
|
||||
|
||||
Define the forwardedHeadersTrustedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.forwardedHeadersTrustedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
forwardedHeadersTrustedIPs:
|
||||
- 10.0.10.23/32
|
||||
- 10.0.20.0/24
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `clientTrustedIPs`
|
||||
|
||||
Define the clientTrustedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.clientTrustedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
clientTrustedIPs:
|
||||
- 192.168.1.0/24
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forwardedHeadersCustomName`
|
||||
|
||||
Define the forwardedHeadersCustomName
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.forwardedHeadersCustomName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
forwardedHeadersCustomName: X-Custom-Header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `remediationHeadersCustomName`
|
||||
|
||||
Define the remediationHeadersCustomName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.remediationHeadersCustomName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
remediationHeadersCustomName: cs-remediation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheEnabled`
|
||||
|
||||
Define the redisCacheEnabled
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.redisCacheEnabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheEnabled: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheHost`
|
||||
|
||||
Define the redisCacheHost
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.redisCacheHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheHost: "redis:6379"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCachePassword`
|
||||
|
||||
Define the redisCachePassword
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.redisCachePassword` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCachePassword: password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheDatabase`
|
||||
|
||||
Define the redisCacheDatabase
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.redisCacheDatabase` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheDatabase: "5"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateAuthority`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateAuthority
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiTLSCertificateAuthority` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateAuthority: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
|
||||
...
|
||||
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateBouncer`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateBouncer
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiTLSCertificateBouncer` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateBouncer: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
|
||||
...
|
||||
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
|
||||
N2U=
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateBouncerKey`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateBouncerKey
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.crowdsecLapiTLSCertificateBouncerKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateBouncerKey: |-
|
||||
-----BEGIN TOTALY NOT A SECRET-----
|
||||
MIIEogIBAAKCAQEAtYQnbJqifH+ZymePylDxGGLIuxzcAUU4/ajNj+qRAdI/Ux3d
|
||||
...
|
||||
ic5cDRo6/VD3CS3MYzyBcibaGaV34nr0G/pI+KEqkYChzk/PZRA=
|
||||
-----END TOTALY NOT A SECRET-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaProvider`
|
||||
|
||||
Define the captchaProvider
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaProvider` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaProvider: hcaptcha
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaSiteKey`
|
||||
|
||||
Define the captchaSiteKey
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaSiteKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaSiteKey: FIXME
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaSecretKey`
|
||||
|
||||
Define the captchaSecretKey
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaSecretKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaSecretKey: FIXME
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaGracePeriodSeconds`
|
||||
|
||||
Define the captchaGracePeriodSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaGracePeriodSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaGracePeriodSeconds: 1800
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaHTMLFilePath`
|
||||
|
||||
Define the captchaHTMLFilePath
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaHTMLFilePath` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaHTMLFilePath: /captcha.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `banHTMLFilePath`
|
||||
|
||||
Define the banHTMLFilePath
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.banHTMLFilePath` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
banHTMLFilePath: /ban.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaHTMLFilePath`
|
||||
|
||||
Define the captchaHTMLFilePath
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.captchaHTMLFilePath` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaHTMLFilePath: /captcha.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
data:
|
||||
enabled: true
|
||||
logLevel: DEBUG
|
||||
updateIntervalSeconds: 60
|
||||
updateMaxFailure: 0
|
||||
defaultDecisionSeconds: 60
|
||||
httpTimeoutSeconds: 10
|
||||
crowdsecMode: live
|
||||
crowdsecAppsecEnabled: false
|
||||
crowdsecAppsecHost: crowdsec:7422
|
||||
crowdsecAppsecFailureBlock: true
|
||||
crowdsecAppsecUnreachableBlock: true
|
||||
crowdsecLapiKey: privateKey-foo
|
||||
crowdsecLapiHost: crowdsec:8080
|
||||
crowdsecLapiScheme: http
|
||||
crowdsecLapiTLSInsecureVerify: false
|
||||
crowdsecCapiMachineId: login
|
||||
crowdsecCapiPassword: password
|
||||
crowdsecCapiScenarios:
|
||||
- crowdsecurity/http-path-traversal-probing
|
||||
- crowdsecurity/http-xss-probing
|
||||
- crowdsecurity/http-generic-bf
|
||||
forwardedHeadersTrustedIPs:
|
||||
- 10.0.10.23/32
|
||||
- 10.0.20.0/24
|
||||
clientTrustedIPs:
|
||||
- 192.168.1.0/24
|
||||
forwardedHeadersCustomName: X-Custom-Header
|
||||
remediationHeadersCustomName: cs-remediation
|
||||
redisCacheEnabled: false
|
||||
redisCacheHost: "redis:6379"
|
||||
redisCachePassword: password
|
||||
redisCacheDatabase: "5"
|
||||
crowdsecLapiTLSCertificateAuthority: |-
|
||||
-----BEGIN TOTALY NOT A CERT-----
|
||||
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
|
||||
...
|
||||
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
|
||||
-----END TOTALY NOT A CERT-----
|
||||
crowdsecLapiTLSCertificateBouncer: |-
|
||||
-----BEGIN TOTALY NOT A CERT-----
|
||||
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
|
||||
...
|
||||
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
|
||||
N2U=
|
||||
-----END TOTALY NOT A CERT-----
|
||||
captchaProvider: hcaptcha
|
||||
captchaSiteKey: FIXME
|
||||
captchaSecretKey: FIXME
|
||||
captchaGracePeriodSeconds: 1800
|
||||
captchaHTMLFilePath: /captcha.html
|
||||
banHTMLFilePath: /ban.html
|
||||
```
|
||||
@@ -1,397 +0,0 @@
|
||||
---
|
||||
title: Plugin Geoblock Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-geoblock#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/PascalMinder/geoblock)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-geoblock`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `GeoBlock` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `api`
|
||||
|
||||
Define the api
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------- |
|
||||
| Key | `middlewares.$name.data.api` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
api: https://api.geoblock.org/v2/geoblock
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowLocalRequests`
|
||||
|
||||
Define the allowLocalRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.allowLocalRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
allowLocalRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logLocalRequests`
|
||||
|
||||
Define the logLocalRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.logLocalRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
logLocalRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logAllowedRequests`
|
||||
|
||||
Define the logAllowedRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.logAllowedRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
logAllowedRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logApiRequests`
|
||||
|
||||
Define the logApiRequests
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.logApiRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
logApiRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `apiTimeoutMs`
|
||||
|
||||
Define the apiTimeoutMs
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------- |
|
||||
| Key | `middlewares.$name.data.apiTimeoutMs` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
apiTimeoutMs: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `cacheSize`
|
||||
|
||||
Define the cacheSize
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.cacheSize` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
cacheSize: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceMonthlyUpdate`
|
||||
|
||||
Define the forceMonthlyUpdate
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.forceMonthlyUpdate` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
forceMonthlyUpdate: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowUnknownCountries`
|
||||
|
||||
Define the allowUnknownCountries
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.allowUnknownCountries` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
allowUnknownCountries: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `unknownCountryApiResponse`
|
||||
|
||||
Define the unknownCountryApiResponse
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `middlewares.$name.data.unknownCountryApiResponse` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
unknownCountryApiResponse: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `blackListMode`
|
||||
|
||||
Define the blackListMode
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------- |
|
||||
| Key | `middlewares.$name.data.blackListMode` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
blackListMode: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `silentStartUp`
|
||||
|
||||
Define the silentStartUp
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------- |
|
||||
| Key | `middlewares.$name.data.silentStartUp` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
silentStartUp: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addCountryHeader`
|
||||
|
||||
Define the addCountryHeader
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `middlewares.$name.data.addCountryHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
addCountryHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `countries`
|
||||
|
||||
Define the countries
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.countries` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
countries:
|
||||
- some-country
|
||||
- some-other-country
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
data:
|
||||
api: https://api.geoblock.org/v2/geoblock
|
||||
allowLocalRequests: true
|
||||
logLocalRequests: true
|
||||
logAllowedRequests: true
|
||||
logApiRequests: true
|
||||
apiTimeoutMs: 1000
|
||||
cacheSize: 1000
|
||||
forceMonthlyUpdate: true
|
||||
allowUnknownCountries: true
|
||||
unknownCountryApiResponse: some-value
|
||||
blackListMode: some-value
|
||||
silentStartUp: true
|
||||
addCountryHeader: true
|
||||
countries:
|
||||
- some-country
|
||||
- some-other-country
|
||||
```
|
||||
@@ -1,130 +0,0 @@
|
||||
---
|
||||
title: Plugin Mod Security Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-mod-security#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/acouvreur/traefik-modsecurity-plugin)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-mod-security`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-modsecurity-plugin` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `modSecurityUrl`
|
||||
|
||||
Define the modSecurityUrl
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------- |
|
||||
| Key | `middlewares.$name.data.modSecurityUrl` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
modSecurityUrl: https://example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `timeoutMillis`
|
||||
|
||||
Define the timeoutMillis
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------- |
|
||||
| Key | `middlewares.$name.data.timeoutMillis` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
timeoutMillis: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `maxBodySize`
|
||||
|
||||
Define the maxBodySize
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.maxBodySize` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
maxBodySize: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-mod-security
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
modSecurityUrl: https://example.com
|
||||
timeoutMillis: 1000
|
||||
maxBodySize: 1024
|
||||
```
|
||||
@@ -1,86 +0,0 @@
|
||||
---
|
||||
title: Plugin Real IP Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-theme-park#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/jramsgz/traefik-real-ip)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-real-ip`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-real-ip` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `excludednets`
|
||||
|
||||
Define the excludednets
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------- |
|
||||
| Key | `middlewares.$name.data.excludednets` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
excludednets:
|
||||
- some-excluded-net
|
||||
- some-other-excluded-net
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-real-ip
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
excludednets:
|
||||
- some-excluded-net
|
||||
- some-other-excluded-net
|
||||
```
|
||||
@@ -1,163 +0,0 @@
|
||||
---
|
||||
title: Plugin Rewrite Response Headers Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-rewrite-response-headers#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/XciD/traefik-plugin-rewrite-headers/)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-rewrite-response-headers`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `rewriteResponseHeaders` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `rewrites`
|
||||
|
||||
Define the rewrites
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------- |
|
||||
| Key | `middlewares.$name.data.rewrites` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- header: some-header
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].header`
|
||||
|
||||
Define the header
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.rewrites.header` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- header: some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- regex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
rewrites:
|
||||
- header: some-header
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
- header: some-other-header
|
||||
regex: some-other-regex
|
||||
replacement: some-other-replacement
|
||||
```
|
||||
@@ -1,158 +0,0 @@
|
||||
---
|
||||
title: Plugin Theme Park Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/plugin-theme-park#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/packruler/traefik-themepark)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-theme-park`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-themepark` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `app`
|
||||
|
||||
Define the app
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------- |
|
||||
| Key | `middlewares.$name.data.app` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
app: sonarr
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `theme`
|
||||
|
||||
Define the theme
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.theme` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
theme: dark
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `baseUrl`
|
||||
|
||||
Define the baseUrl
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------- |
|
||||
| Key | `middlewares.$name.data.baseUrl` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
baseUrl: https://example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addons`
|
||||
|
||||
Define the addons
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.data.addons` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
addons:
|
||||
- some-addon
|
||||
- some-other-addon
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
app: sonarr
|
||||
theme: dark
|
||||
baseUrl: https://example.com
|
||||
addons:
|
||||
- some-addon
|
||||
- some-other-addon
|
||||
```
|
||||
@@ -1,82 +0,0 @@
|
||||
---
|
||||
title: Rate Limit Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/rate-limit#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ratelimit)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: rate-limit`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `average`
|
||||
|
||||
Define the average rate limit
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------- |
|
||||
| Key | `middlewares.$name.data.average` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
average: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `burst`
|
||||
|
||||
Define the burst rate limit
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.burst` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
burst: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: rate-limit
|
||||
data:
|
||||
average: 1000
|
||||
burst: 1000
|
||||
```
|
||||
@@ -1,106 +0,0 @@
|
||||
---
|
||||
title: Redirect Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/redirect-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: redirect-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
regex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permanent`
|
||||
|
||||
Define the permanent
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.permanent` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
permanent: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
data:
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
permanent: true
|
||||
```
|
||||
@@ -1,82 +0,0 @@
|
||||
---
|
||||
title: Redirect Scheme Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/redirect-scheme#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectscheme)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: redirect-scheme`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `scheme`
|
||||
|
||||
Define the scheme
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.data.scheme` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
scheme: https
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permanent`
|
||||
|
||||
Define the permanent
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------- |
|
||||
| Key | `middlewares.$name.data.permanent` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
permanent: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: redirect-scheme
|
||||
data:
|
||||
scheme: https
|
||||
permanent: true
|
||||
```
|
||||
@@ -1,82 +0,0 @@
|
||||
---
|
||||
title: Replace Path Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/replace-path-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepathregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: replace-path-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
regex: /some-path
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------ |
|
||||
| Key | `middlewares.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
replacement: /some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: replace-path-regex
|
||||
data:
|
||||
regex: /some-path
|
||||
replacement: /some-replacement
|
||||
```
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
title: Replace Path Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/replace-path#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepath)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: replace-path`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `path`
|
||||
|
||||
Define the path
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------- |
|
||||
| Key | `middlewares.$name.data.path` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
path: /some-path
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: replace-path
|
||||
data:
|
||||
path: /some-path
|
||||
```
|
||||
@@ -1,82 +0,0 @@
|
||||
---
|
||||
title: Retry Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/retry#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/retry)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: retry`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `attempts`
|
||||
|
||||
Define the path
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------- |
|
||||
| Key | `middlewares.$name.data.attempts` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
attempts: 3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `initialInterval`
|
||||
|
||||
Define the initialInterval
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------- |
|
||||
| Key | `middlewares.$name.data.initialInterval` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
initialInterval: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: retry
|
||||
data:
|
||||
attempts: 3
|
||||
initialInterval: 1000
|
||||
```
|
||||
@@ -1,62 +0,0 @@
|
||||
---
|
||||
title: Strip Prefix Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/strip-prefix-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefixregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: strip-prefix-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regexes
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------ |
|
||||
| Key | `middlewares.$name.data.regex` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
regex:
|
||||
- some-regex
|
||||
- some-other-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: strip-prefix-regex
|
||||
data:
|
||||
regex:
|
||||
- some-regex
|
||||
- some-other-regex
|
||||
```
|
||||
@@ -1,86 +0,0 @@
|
||||
---
|
||||
title: Strip Prefix Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/strip-prefix#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefix)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: strip-prefix`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `prefix`
|
||||
|
||||
Define the prefixes
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------- |
|
||||
| Key | `middlewares.$name.data.prefix` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
prefix:
|
||||
- /some-prefix
|
||||
- /some-other-prefix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceSlash`
|
||||
|
||||
Define the forceSlash
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------- |
|
||||
| Key | `middlewares.$name.data.forceSlash` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
data:
|
||||
forceSlash: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: strip-prefix
|
||||
data:
|
||||
prefix:
|
||||
- /some-prefix
|
||||
- /some-other-prefix
|
||||
forceSlash: true
|
||||
```
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: Add Prefix Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/add-prefix#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/addprefix)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: add-prefix`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `prefix`
|
||||
|
||||
Define the prefix
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.prefix` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
prefix: some-prefix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: add-prefix
|
||||
data:
|
||||
prefix: some-prefix
|
||||
```
|
||||
@@ -0,0 +1,157 @@
|
||||
---
|
||||
title: Basic Auth Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/basic-auth#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/basicauth)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: basic-auth`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `users`
|
||||
|
||||
Define the users
|
||||
|
||||
:::note
|
||||
|
||||
If this is set, the `secret` key must not be set.
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.users` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `users[].username`
|
||||
|
||||
Define the username
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.users.username` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `users[].password`
|
||||
|
||||
Define the password
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.users.password` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `secret`
|
||||
|
||||
Define the secret
|
||||
|
||||
:::note
|
||||
|
||||
If this is set, the `users` key must not be set.
|
||||
|
||||
:::
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.secret` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
secret: some-secret
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name1:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
data:
|
||||
users:
|
||||
- username: some-username
|
||||
password: some-password
|
||||
middleware-name2:
|
||||
enabled: true
|
||||
type: basic-auth
|
||||
data:
|
||||
secret: some-secret
|
||||
```
|
||||
@@ -0,0 +1,152 @@
|
||||
---
|
||||
title: Buffering Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/buffering#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/buffering)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: buffering`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `maxRequestBodyBytes`
|
||||
|
||||
Define the maxRequestBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.maxRequestBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
maxRequestBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `memRequestBodyBytes`
|
||||
|
||||
Define the memRequestBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.memRequestBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
memRequestBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `maxResponseBodyBytes`
|
||||
|
||||
Define the maxResponseBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.maxResponseBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
maxResponseBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `memResponseBodyBytes`
|
||||
|
||||
Define the memResponseBodyBytes
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.memResponseBodyBytes` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
memResponseBodyBytes: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `retryExpression`
|
||||
|
||||
Define the retryExpression
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.retryExpression` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
retryExpression: "some-expression"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: buffering
|
||||
data:
|
||||
maxRequestBodyBytes: 1024
|
||||
memRequestBodyBytes: 1024
|
||||
maxResponseBodyBytes: 1024
|
||||
memResponseBodyBytes: 1024
|
||||
retryExpression: "some-expression"
|
||||
```
|
||||
@@ -0,0 +1,114 @@
|
||||
---
|
||||
title: Chain Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/chain#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/chain)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: chain`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `middlewares`
|
||||
|
||||
Define the middlewares
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.middlewares` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares: []
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `middlewares[].name`
|
||||
|
||||
Define the middleware name
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.middlewares.name` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares:
|
||||
- name: some-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `middlewares[].expandObjectName`
|
||||
|
||||
Define the middleware expandObjectName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.middlewares.expandObjectName` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `true` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
middlewares:
|
||||
- name: some-name
|
||||
expandObjectName: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: chain
|
||||
data:
|
||||
middlewares:
|
||||
- name: some-middleware
|
||||
- name: some-other-middleware
|
||||
expandObjectName: false
|
||||
```
|
||||
+4
-3
@@ -5,14 +5,14 @@ title: Compress Middleware
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/compress#full-examples) section for complete examples.
|
||||
- See the [Full Examples](/common/middlewares/traefik/compress#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/compress)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
@@ -26,7 +26,8 @@ title: Compress Middleware
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: compress
|
||||
+4
-3
@@ -5,14 +5,14 @@ title: Content Type Middleware
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/content-type#full-examples) section for complete examples.
|
||||
- See the [Full Examples](/common/middlewares/traefik/content-type#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/contenttype)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.middlewares.$name.data`
|
||||
- `.Values.ingressMiddlewares.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
@@ -26,7 +26,8 @@ title: Content Type Middleware
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
middlewares:
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: content-type
|
||||
@@ -0,0 +1,215 @@
|
||||
---
|
||||
title: Forward Auth Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/forward-auth#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/forwardauth)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: forward-auth`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `address`
|
||||
|
||||
Define the address
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.address` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
address: some-address
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authResponseHeadersRegex`
|
||||
|
||||
Define the authResponseHeadersRegex
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.authResponseHeadersRegex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
authResponseHeadersRegex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `trustForwardHeader`
|
||||
|
||||
Define the trustForwardHeader
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.trustForwardHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `false` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
trustForwardHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authResponseHeaders`
|
||||
|
||||
Define the authResponseHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.authResponseHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `[]` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
authResponseHeaders:
|
||||
- some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `authRequestHeaders`
|
||||
|
||||
Define the authRequestHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.authRequestHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `[]` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
authRequestHeaders:
|
||||
- some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `tls`
|
||||
|
||||
Define the tls
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.tls` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
tls: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `tls.insecureSkipVerify`
|
||||
|
||||
Define the tls.insecureSkipVerify
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.tls.insecureSkipVerify` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `false` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
tls:
|
||||
insecureSkipVerify: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: forward-auth
|
||||
data:
|
||||
address: some-address
|
||||
authResponseHeadersRegex: some-regex
|
||||
trustForwardHeader: true
|
||||
authResponseHeaders:
|
||||
- some-header
|
||||
authRequestHeaders:
|
||||
- some-header
|
||||
tls:
|
||||
insecureSkipVerify: true
|
||||
```
|
||||
@@ -0,0 +1,777 @@
|
||||
---
|
||||
title: Headers Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/headers#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/headers)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: headers`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `customRequestHeaders`
|
||||
|
||||
Define the customRequestHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.customRequestHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
customRequestHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customResponseHeaders`
|
||||
|
||||
Define the customResponseHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.customResponseHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
customResponseHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowCredentials`
|
||||
|
||||
Define the accessControlAllowCredentials
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowCredentials` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowCredentials: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowHeaders`
|
||||
|
||||
Define the accessControlAllowHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowMethods`
|
||||
|
||||
Define the accessControlAllowMethods
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowMethods` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowMethods:
|
||||
- GET
|
||||
- POST
|
||||
- PUT
|
||||
- DELETE
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowOriginList`
|
||||
|
||||
Define the accessControlAllowOriginList
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowOriginList` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowOriginList:
|
||||
- some-origin
|
||||
- some-other-origin
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlAllowOriginListRegex`
|
||||
|
||||
Define the accessControlAllowOriginListRegex
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowOriginList` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlAllowOriginListRegex:
|
||||
- some-origin-regex
|
||||
- some-other-origin-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlExposeHeaders`
|
||||
|
||||
Define the accessControlExposeHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlExposeHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlExposeHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `accessControlMaxAge`
|
||||
|
||||
Define the accessControlMaxAge
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.accessControlMaxAge` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
accessControlMaxAge: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addVaryHeader`
|
||||
|
||||
Define the addVaryHeader
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.addVaryHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
addVaryHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowedHosts`
|
||||
|
||||
Define the allowedHosts
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.allowedHosts` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
allowedHosts:
|
||||
- some-host
|
||||
- some-other-host
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `hostsProxyHeaders`
|
||||
|
||||
Define the hostsProxyHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.hostsProxyHeaders` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
hostsProxyHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `sslProxyHeaders`
|
||||
|
||||
Define the sslProxyHeaders
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.sslProxyHeaders` |
|
||||
| Type | `map` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
sslProxyHeaders:
|
||||
some-header: some-value
|
||||
some-other-header: some-other-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsSeconds`
|
||||
|
||||
Define the stsSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.stsSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
stsSeconds: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsIncludeSubdomains`
|
||||
|
||||
Define the stsIncludeSubdomains
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.stsIncludeSubdomains` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
stsIncludeSubdomains: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `stsPreload`
|
||||
|
||||
Define the stsPreload
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.stsPreload` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
stsPreload: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceSTSHeader`
|
||||
|
||||
Define the forceSTSHeader
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.forceSTSHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
forceSTSHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `frameDeny`
|
||||
|
||||
Define the frameDeny
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.frameDeny` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
frameDeny: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customFrameOptionsValue`
|
||||
|
||||
Define the customFrameOptionsValue
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.customFrameOptionsValue` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
customFrameOptionsValue: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentTypeNosniff`
|
||||
|
||||
Define the contentTypeNosniff
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.contentTypeNosniff` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
contentTypeNosniff: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `browserXssFilter`
|
||||
|
||||
Define the browserXssFilter
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.browserXssFilter` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
browserXssFilter: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `customBrowserXSSValue`
|
||||
|
||||
Define the customBrowserXSSValue
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.customBrowserXSSValue` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
customBrowserXSSValue: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentSecurityPolicy`
|
||||
|
||||
Define the contentSecurityPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.contentSecurityPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
contentSecurityPolicy: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `contentSecurityPolicyReportOnly`
|
||||
|
||||
Define the contentSecurityPolicyReportOnly
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.contentSecurityPolicy` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
contentSecurityPolicyReportOnly: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `publicKey`
|
||||
|
||||
Define the publicKey
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.publicKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
publicKey: some-public-key
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `referrerPolicy`
|
||||
|
||||
Define the referrerPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.referrerPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
referrerPolicy: some-referrer-policy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permissionsPolicy`
|
||||
|
||||
Define the permissionsPolicy
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.permissionsPolicy` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
permissionsPolicy: some-permissions-policy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `isDevelopment`
|
||||
|
||||
Define the isDevelopment
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.isDevelopment` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
isDevelopment: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: headers
|
||||
data:
|
||||
customRequestHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
customResponseHeaders:
|
||||
some-name: some-value
|
||||
some-other-name: some-other-value
|
||||
accessControlAllowCredentials: true
|
||||
accessControlAllowHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
accessControlAllowMethods:
|
||||
- GET
|
||||
- DELETE
|
||||
accessControlAllowOriginList:
|
||||
- some-origin
|
||||
- some-other-origin
|
||||
accessControlAllowOriginListRegex:
|
||||
- some-origin-regex
|
||||
- some-other-origin-regex
|
||||
accessControlExposeHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
accessControlMaxAge: 1000
|
||||
addVaryHeader: true
|
||||
allowedHosts:
|
||||
- some-host
|
||||
- some-other-host
|
||||
hostsProxyHeaders:
|
||||
- some-header
|
||||
- some-other-header
|
||||
sslProxyHeaders:
|
||||
some-header: some-value
|
||||
some-other-header: some-other-value
|
||||
stsSeconds: 1000
|
||||
stsIncludeSubdomains: true
|
||||
stsPreload: true
|
||||
forceSTSHeader: true
|
||||
frameDeny: true
|
||||
customFrameOptionsValue: some-value
|
||||
contentTypeNosniff: true
|
||||
browserXssFilter: true
|
||||
customBrowserXSSValue: some-value
|
||||
contentSecurityPolicy: some-value
|
||||
contentSecurityPolicyReportOnly: true
|
||||
publicKey: some-public-key
|
||||
referrerPolicy: some-referrer-policy
|
||||
permissionsPolicy: some-permissions-policy
|
||||
isDevelopment: true
|
||||
```
|
||||
@@ -0,0 +1,83 @@
|
||||
---
|
||||
title: Traefik Middlewares
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik#full-examples) section for complete examples.
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik`
|
||||
|
||||
:::tip
|
||||
|
||||
- Replace references to `$name` with the actual name you want to use.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `type`
|
||||
|
||||
Define the type for this object
|
||||
|
||||
Available types:
|
||||
|
||||
- [add-prefix](/common/middlewares/traefik/add-prefix)
|
||||
- [basic-auth](/common/middlewares/traefik/basic-auth)
|
||||
- [buffering](/common/middlewares/traefik/buffering)
|
||||
- [chain](/common/middlewares/traefik/chain)
|
||||
- [compress](/common/middlewares/traefik/compress)
|
||||
- [content-type](/common/middlewares/traefik/content-type)
|
||||
- [forward-auth](/common/middlewares/traefik/forward-auth)
|
||||
- [headers](/common/middlewares/traefik/headers)
|
||||
- [ip-allow-list](/common/middlewares/traefik/ip-allow-list)
|
||||
- [plugin-bouncer](/common/middlewares/traefik/plugin-bouncer)
|
||||
- [plugin-geoblock](/common/middlewares/traefik/plugin-geoblock)
|
||||
- [plugin-mod-security](/common/middlewares/traefik/plugin-mod-security)
|
||||
- [plugin-real-ip](/common/middlewares/traefik/plugin-real-ip)
|
||||
- [plugin-rewrite-response-headers](/common/middlewares/traefik/plugin-rewrite-response-headers)
|
||||
- [plugin-theme-park](/common/middlewares/traefik/plugin-theme-park)
|
||||
- [rate-limit](/common/middlewares/traefik/rate-limit)
|
||||
- [redirect-regex](/common/middlewares/traefik/redirect-regex)
|
||||
- [redirect-scheme](/common/middlewares/traefik/redirect-scheme)
|
||||
- [replace-path-regex](/common/middlewares/traefik/replace-path-regex)
|
||||
- [replace-path](/common/middlewares/traefik/replace-path)
|
||||
- [retry](/common/middlewares/traefik/retry)
|
||||
- [strip-prefix-regex](/common/middlewares/traefik/strip-prefix-regex)
|
||||
- [strip-prefix](/common/middlewares/traefik/strip-prefix)
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------- |
|
||||
| Key | `ingressMiddlewares.$provider.$name.type` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `""` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
type: buffering
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: buffering
|
||||
data:
|
||||
key: value
|
||||
```
|
||||
@@ -0,0 +1,141 @@
|
||||
---
|
||||
title: IP Allow List Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/ip-allow-list#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ipallowlist)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: ip-allow-list`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `sourceRange`
|
||||
|
||||
Define the sourceRange
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.sourceRange` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
sourceRange:
|
||||
- some-source-range
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `ipStrategy`
|
||||
|
||||
Define the ipStrategy
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy` |
|
||||
| Type | `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `{}` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy: {}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `ipStrategy.depth`
|
||||
|
||||
Define the ipStrategy.depth
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy.depth` |
|
||||
| Type | `int` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy:
|
||||
depth: 1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `ipStrategy.excludedIPs`
|
||||
|
||||
Define the ipStrategy.excludedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy.excludedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
ipStrategy:
|
||||
excludedIPs:
|
||||
- some-excluded-ip
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: ip-allow-list
|
||||
data:
|
||||
sourceRange:
|
||||
- some-source-range
|
||||
ipStrategy:
|
||||
depth: 1
|
||||
excludedIPs:
|
||||
- some-excluded-ip
|
||||
```
|
||||
@@ -0,0 +1,972 @@
|
||||
---
|
||||
title: Plugin Bouncer Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-bouncer#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-bouncer`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `bouncer` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `enabled`
|
||||
|
||||
Define the enabled
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.enabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logLevel`
|
||||
|
||||
Define the logLevel
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.logLevel` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
logLevel: DEBUG
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `updateIntervalSeconds`
|
||||
|
||||
Define the updateIntervalSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.updateIntervalSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
updateIntervalSeconds: 60
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `updateMaxFailure`
|
||||
|
||||
Define the updateMaxFailure
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.updateMaxFailure` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
updateMaxFailure: 0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `defaultDecisionSeconds`
|
||||
|
||||
Define the defaultDecisionSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.defaultDecisionSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
defaultDecisionSeconds: 60
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `httpTimeoutSeconds`
|
||||
|
||||
Define the httpTimeoutSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.httpTimeoutSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
httpTimeoutSeconds: 10
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecMode`
|
||||
|
||||
Define the crowdsecMode
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsec` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecMode: live
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecEnabled`
|
||||
|
||||
Define the crowdsecAppsecEnabled
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecEnabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecEnabled: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecHost`
|
||||
|
||||
Define the crowdsecAppsecHost
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecHost: crowdsec:7422
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecFailureBlock`
|
||||
|
||||
Define the crowdsecAppsecFailureBlock
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecFailureBlock` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecFailureBlock: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecAppsecUnreachableBlock`
|
||||
|
||||
Define the crowdsecAppsecUnreachableBlock
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecUnreachableBlock` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecAppsecUnreachableBlock: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiKey`
|
||||
|
||||
Define the crowdsecLapiKey
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiKey: privateKey-foo
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiHost`
|
||||
|
||||
Define the crowdsecLapiHost
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiHost: crowdsec:8080
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiScheme`
|
||||
|
||||
Define the crowdsecLapiScheme
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsec` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiScheme: http
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSInsecureVerify`
|
||||
|
||||
Define the crowdsecLapiTLSInsecureVerify
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSInsecureVerify` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSInsecureVerify: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiMachineId`
|
||||
|
||||
Define the crowdsecCapiMachineId
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiMachineId` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiMachineId: login
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiPassword`
|
||||
|
||||
Define the crowdsecCapiPassword
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiPassword` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiPassword: password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecCapiScenarios`
|
||||
|
||||
Define the crowdsecCapiScenarios
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiScenarios` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecCapiScenarios:
|
||||
- crowdsecurity/http-path-traversal-probing
|
||||
- crowdsecurity/http-xss-probing
|
||||
- crowdsecurity/http-generic-bf
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forwardedHeadersTrustedIPs`
|
||||
|
||||
Define the forwardedHeadersTrustedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.forwardedHeadersTrustedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
forwardedHeadersTrustedIPs:
|
||||
- 10.0.10.23/32
|
||||
- 10.0.20.0/24
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `clientTrustedIPs`
|
||||
|
||||
Define the clientTrustedIPs
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.clientTrustedIPs` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
clientTrustedIPs:
|
||||
- 192.168.1.0/24
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forwardedHeadersCustomName`
|
||||
|
||||
Define the forwardedHeadersCustomName
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.forwardedHeadersCustomName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
forwardedHeadersCustomName: X-Custom-Header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `remediationHeadersCustomName`
|
||||
|
||||
Define the remediationHeadersCustomName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.remediationHeadersCustomName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
remediationHeadersCustomName: cs-remediation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheEnabled`
|
||||
|
||||
Define the redisCacheEnabled
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheEnabled` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheEnabled: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheHost`
|
||||
|
||||
Define the redisCacheHost
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheHost` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheHost: "redis:6379"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCachePassword`
|
||||
|
||||
Define the redisCachePassword
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.redisCachePassword` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCachePassword: password
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `redisCacheDatabase`
|
||||
|
||||
Define the redisCacheDatabase
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheDatabase` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
redisCacheDatabase: "5"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateAuthority`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateAuthority
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateAuthority` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateAuthority: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
|
||||
...
|
||||
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateBouncer`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateBouncer
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncer` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateBouncer: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
|
||||
...
|
||||
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
|
||||
N2U=
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `crowdsecLapiTLSCertificateBouncerKey`
|
||||
|
||||
Define the crowdsecLapiTLSCertificateBouncerKey
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncerKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
crowdsecLapiTLSCertificateBouncerKey: |-
|
||||
-----BEGIN TOTALY NOT A SECRET-----
|
||||
MIIEogIBAAKCAQEAtYQnbJqifH+ZymePylDxGGLIuxzcAUU4/ajNj+qRAdI/Ux3d
|
||||
...
|
||||
ic5cDRo6/VD3CS3MYzyBcibaGaV34nr0G/pI+KEqkYChzk/PZRA=
|
||||
-----END TOTALY NOT A SECRET-----
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaProvider`
|
||||
|
||||
Define the captchaProvider
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.captchaProvider` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaProvider: hcaptcha
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaSiteKey`
|
||||
|
||||
Define the captchaSiteKey
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.captchaSiteKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaSiteKey: FIXME
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaSecretKey`
|
||||
|
||||
Define the captchaSecretKey
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.captchaSecretKey` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaSecretKey: FIXME
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaGracePeriodSeconds`
|
||||
|
||||
Define the captchaGracePeriodSeconds
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.captchaGracePeriodSeconds` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaGracePeriodSeconds: 1800
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `captchaHTMLFilePath`
|
||||
|
||||
Define the captchaHTMLFilePath
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.captchaHTMLFilePath` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
captchaHTMLFilePath: /captcha.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `banHTMLFilePath`
|
||||
|
||||
Define the banHTMLFilePath
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.banHTMLFilePath` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
banHTMLFilePath: /ban.html
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-bouncer
|
||||
data:
|
||||
enabled: true
|
||||
logLevel: DEBUG
|
||||
updateIntervalSeconds: 60
|
||||
updateMaxFailure: 0
|
||||
defaultDecisionSeconds: 60
|
||||
httpTimeoutSeconds: 10
|
||||
crowdsecMode: live
|
||||
crowdsecAppsecEnabled: false
|
||||
crowdsecAppsecHost: crowdsec:7422
|
||||
crowdsecAppsecFailureBlock: true
|
||||
crowdsecAppsecUnreachableBlock: true
|
||||
crowdsecLapiKey: privateKey-foo
|
||||
crowdsecLapiHost: crowdsec:8080
|
||||
crowdsecLapiScheme: http
|
||||
crowdsecLapiTLSInsecureVerify: false
|
||||
crowdsecCapiMachineId: login
|
||||
crowdsecCapiPassword: password
|
||||
crowdsecCapiScenarios:
|
||||
- crowdsecurity/http-path-traversal-probing
|
||||
- crowdsecurity/http-xss-probing
|
||||
- crowdsecurity/http-generic-bf
|
||||
forwardedHeadersTrustedIPs:
|
||||
- 10.0.10.23/32
|
||||
- 10.0.20.0/24
|
||||
clientTrustedIPs:
|
||||
- 192.168.1.0/24
|
||||
forwardedHeadersCustomName: X-Custom-Header
|
||||
remediationHeadersCustomName: cs-remediation
|
||||
redisCacheEnabled: false
|
||||
redisCacheHost: "redis:6379"
|
||||
redisCachePassword: password
|
||||
redisCacheDatabase: "5"
|
||||
crowdsecLapiTLSCertificateAuthority: |-
|
||||
-----BEGIN TOTALY NOT A CERT-----
|
||||
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
|
||||
...
|
||||
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
|
||||
-----END TOTALY NOT A CERT-----
|
||||
crowdsecLapiTLSCertificateBouncer: |-
|
||||
-----BEGIN TOTALY NOT A CERT-----
|
||||
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
|
||||
...
|
||||
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
|
||||
N2U=
|
||||
-----END TOTALY NOT A CERT-----
|
||||
captchaProvider: hcaptcha
|
||||
captchaSiteKey: FIXME
|
||||
captchaSecretKey: FIXME
|
||||
captchaGracePeriodSeconds: 1800
|
||||
captchaHTMLFilePath: /captcha.html
|
||||
banHTMLFilePath: /ban.html
|
||||
```
|
||||
@@ -0,0 +1,413 @@
|
||||
---
|
||||
title: Plugin Geoblock Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-geoblock#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/PascalMinder/geoblock)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-geoblock`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `GeoBlock` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `api`
|
||||
|
||||
Define the api
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.api` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
api: https://api.geoblock.org/v2/geoblock
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowLocalRequests`
|
||||
|
||||
Define the allowLocalRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.allowLocalRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
allowLocalRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logLocalRequests`
|
||||
|
||||
Define the logLocalRequests
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.logLocalRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
logLocalRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logAllowedRequests`
|
||||
|
||||
Define the logAllowedRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.logAllowedRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
logAllowedRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `logApiRequests`
|
||||
|
||||
Define the logApiRequests
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.logApiRequests` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
logApiRequests: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `apiTimeoutMs`
|
||||
|
||||
Define the apiTimeoutMs
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.apiTimeoutMs` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
apiTimeoutMs: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `cacheSize`
|
||||
|
||||
Define the cacheSize
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.cacheSize` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
cacheSize: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceMonthlyUpdate`
|
||||
|
||||
Define the forceMonthlyUpdate
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.forceMonthlyUpdate` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
forceMonthlyUpdate: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `allowUnknownCountries`
|
||||
|
||||
Define the allowUnknownCountries
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.allowUnknownCountries` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
allowUnknownCountries: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `unknownCountryApiResponse`
|
||||
|
||||
Define the unknownCountryApiResponse
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.unknownCountryApiResponse` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
unknownCountryApiResponse: some-value
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `blackListMode`
|
||||
|
||||
Define the blackListMode
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.blackListMode` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
blackListMode: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `silentStartUp`
|
||||
|
||||
Define the silentStartUp
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.silentStartUp` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
silentStartUp: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addCountryHeader`
|
||||
|
||||
Define the addCountryHeader
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.addCountryHeader` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
addCountryHeader: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `countries`
|
||||
|
||||
Define the countries
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.countries` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
countries:
|
||||
- some-country
|
||||
- some-other-country
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-geoblock
|
||||
data:
|
||||
api: https://api.geoblock.org/v2/geoblock
|
||||
allowLocalRequests: true
|
||||
logLocalRequests: true
|
||||
logAllowedRequests: true
|
||||
logApiRequests: true
|
||||
apiTimeoutMs: 1000
|
||||
cacheSize: 1000
|
||||
forceMonthlyUpdate: true
|
||||
allowUnknownCountries: true
|
||||
unknownCountryApiResponse: some-value
|
||||
blackListMode: some-value
|
||||
silentStartUp: true
|
||||
addCountryHeader: true
|
||||
countries:
|
||||
- some-country
|
||||
- some-other-country
|
||||
```
|
||||
@@ -0,0 +1,135 @@
|
||||
---
|
||||
title: Plugin Mod Security Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-mod-security#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/acouvreur/traefik-modsecurity-plugin)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-mod-security`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-modsecurity-plugin` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `modSecurityUrl`
|
||||
|
||||
Define the modSecurityUrl
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.modSecurityUrl` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
modSecurityUrl: https://example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `timeoutMillis`
|
||||
|
||||
Define the timeoutMillis
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.timeoutMillis` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
timeoutMillis: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `maxBodySize`
|
||||
|
||||
Define the maxBodySize
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.maxBodySize` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
maxBodySize: 1024
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-mod-security
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
modSecurityUrl: https://example.com
|
||||
timeoutMillis: 1000
|
||||
maxBodySize: 1024
|
||||
```
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Plugin Real IP Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-theme-park#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/jramsgz/traefik-real-ip)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-real-ip`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-real-ip` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `excludednets`
|
||||
|
||||
Define the excludednets
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.excludednets` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
excludednets:
|
||||
- some-excluded-net
|
||||
- some-other-excluded-net
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-real-ip
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
excludednets:
|
||||
- some-excluded-net
|
||||
- some-other-excluded-net
|
||||
```
|
||||
+169
@@ -0,0 +1,169 @@
|
||||
---
|
||||
title: Plugin Rewrite Response Headers Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-rewrite-response-headers#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/XciD/traefik-plugin-rewrite-headers/)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-rewrite-response-headers`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `rewriteResponseHeaders` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `rewrites`
|
||||
|
||||
Define the rewrites
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.rewrites` |
|
||||
| Type | `list` of `map` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- header: some-header
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].header`
|
||||
|
||||
Define the header
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.rewrites.header` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- header: some-header
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- regex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### `rewrites[].replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
rewrites:
|
||||
- replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-rewrite-response-headers
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
rewrites:
|
||||
- header: some-header
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
- header: some-other-header
|
||||
regex: some-other-regex
|
||||
replacement: some-other-replacement
|
||||
```
|
||||
@@ -0,0 +1,164 @@
|
||||
---
|
||||
title: Plugin Theme Park Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/plugin-theme-park#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://github.com/packruler/traefik-themepark)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: plugin-theme-park`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `pluginName`
|
||||
|
||||
Define the pluginName
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | `traefik-themepark` |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `app`
|
||||
|
||||
Define the app
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.app` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
app: sonarr
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `theme`
|
||||
|
||||
Define the theme
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.theme` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
theme: dark
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `baseUrl`
|
||||
|
||||
Define the baseUrl
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.baseUrl` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
baseUrl: https://example.com
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `addons`
|
||||
|
||||
Define the addons
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.addons` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
addons:
|
||||
- some-addon
|
||||
- some-other-addon
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: plugin-theme-park
|
||||
data:
|
||||
pluginName: my-plugin-name
|
||||
app: sonarr
|
||||
theme: dark
|
||||
baseUrl: https://example.com
|
||||
addons:
|
||||
- some-addon
|
||||
- some-other-addon
|
||||
```
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Rate Limit Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/rate-limit#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ratelimit)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: rate-limit`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `average`
|
||||
|
||||
Define the average rate limit
|
||||
|
||||
| | |
|
||||
| ---------- | ----------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.average` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
average: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `burst`
|
||||
|
||||
Define the burst rate limit
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.burst` |
|
||||
| Type | `int` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
burst: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: rate-limit
|
||||
data:
|
||||
average: 1000
|
||||
burst: 1000
|
||||
```
|
||||
@@ -0,0 +1,110 @@
|
||||
---
|
||||
title: Redirect Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/redirect-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: redirect-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
regex: some-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
replacement: some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permanent`
|
||||
|
||||
Define the permanent
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.permanent` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
permanent: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: redirect-regex
|
||||
data:
|
||||
regex: some-regex
|
||||
replacement: some-replacement
|
||||
permanent: true
|
||||
```
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Redirect Scheme Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/redirect-scheme#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectscheme)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: redirect-scheme`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `scheme`
|
||||
|
||||
Define the scheme
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.scheme` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
scheme: https
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `permanent`
|
||||
|
||||
Define the permanent
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.permanent` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
permanent: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: redirect-scheme
|
||||
data:
|
||||
scheme: https
|
||||
permanent: true
|
||||
```
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Replace Path Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/replace-path-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepathregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: replace-path-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regex
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
regex: /some-path
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `replacement`
|
||||
|
||||
Define the replacement
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
replacement: /some-replacement
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: replace-path-regex
|
||||
data:
|
||||
regex: /some-path
|
||||
replacement: /some-replacement
|
||||
```
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: Replace Path Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/replace-path#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepath)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: replace-path`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `path`
|
||||
|
||||
Define the path
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.path` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
path: /some-path
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: replace-path
|
||||
data:
|
||||
path: /some-path
|
||||
```
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
title: Retry Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/retry#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/retry)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: retry`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `attempts`
|
||||
|
||||
Define the path
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------ |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.attempts` |
|
||||
| Type | `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
attempts: 3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `initialInterval`
|
||||
|
||||
Define the initialInterval
|
||||
|
||||
| | |
|
||||
| ---------- | ------------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.initialInterval` |
|
||||
| Type | `string` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
initialInterval: 1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: retry
|
||||
data:
|
||||
attempts: 3
|
||||
initialInterval: 1000
|
||||
```
|
||||
@@ -0,0 +1,64 @@
|
||||
---
|
||||
title: Strip Prefix Regex Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/strip-prefix-regex#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefixregex)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: strip-prefix-regex`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `regex`
|
||||
|
||||
Define the regexes
|
||||
|
||||
| | |
|
||||
| ---------- | --------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
regex:
|
||||
- some-regex
|
||||
- some-other-regex
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: strip-prefix-regex
|
||||
data:
|
||||
regex:
|
||||
- some-regex
|
||||
- some-other-regex
|
||||
```
|
||||
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Strip Prefix Middleware
|
||||
---
|
||||
|
||||
:::note
|
||||
|
||||
- Examples under each key are only to be used as a placement guide
|
||||
- See the [Full Examples](/common/middlewares/traefik/strip-prefix#full-examples) section for complete examples.
|
||||
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefix)
|
||||
|
||||
:::
|
||||
|
||||
## Appears in
|
||||
|
||||
- `.Values.ingressMiddlewares.traefik.$name.data`
|
||||
|
||||
:::tip
|
||||
|
||||
- See available middleware keys [here](/common/middlewares).
|
||||
- This options apply only when `type: strip-prefix`.
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## `prefix`
|
||||
|
||||
Define the prefixes
|
||||
|
||||
| | |
|
||||
| ---------- | ---------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.prefix` |
|
||||
| Type | `list` of `string` |
|
||||
| Required | ✅ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
prefix:
|
||||
- /some-prefix
|
||||
- /some-other-prefix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `forceSlash`
|
||||
|
||||
Define the forceSlash
|
||||
|
||||
| | |
|
||||
| ---------- | -------------------------------------------------- |
|
||||
| Key | `ingressMiddlewares.traefik.$name.data.forceSlash` |
|
||||
| Type | `bool` |
|
||||
| Required | ❌ |
|
||||
| Helm `tpl` | ❌ |
|
||||
| Default | - |
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
data:
|
||||
forceSlash: true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Full Examples
|
||||
|
||||
```yaml
|
||||
ingressMiddlewares:
|
||||
traefik:
|
||||
middleware-name:
|
||||
enabled: true
|
||||
type: strip-prefix
|
||||
data:
|
||||
prefix:
|
||||
- /some-prefix
|
||||
- /some-other-prefix
|
||||
forceSlash: true
|
||||
```
|
||||
Reference in New Issue
Block a user