Plugin Bouncer Middleware
Appears in
Section titled “Appears in”.Values.ingressMiddlewares.traefik.$name.data
pluginName
Section titled “pluginName”Define the pluginName
| Key | ingressMiddlewares.traefik.$name.data.pluginName |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | bouncer |
Example
ingressMiddlewares: traefik: middleware-name: data: pluginName: my-plugin-nameenabled
Section titled “enabled”Define the enabled
| Key | ingressMiddlewares.traefik.$name.data.enabled |
| Type | bool |
| Required | ✅ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: enabled: truelogLevel
Section titled “logLevel”Define the logLevel
| Key | ingressMiddlewares.traefik.$name.data.logLevel |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: logLevel: DEBUGupdateIntervalSeconds
Section titled “updateIntervalSeconds”Define the updateIntervalSeconds
| Key | ingressMiddlewares.traefik.$name.data.updateIntervalSeconds |
| Type | int |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: updateIntervalSeconds: 60updateMaxFailure
Section titled “updateMaxFailure”Define the updateMaxFailure
| Key | ingressMiddlewares.traefik.$name.data.updateMaxFailure |
| Type | int |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: updateMaxFailure: 0defaultDecisionSeconds
Section titled “defaultDecisionSeconds”Define the defaultDecisionSeconds
| Key | ingressMiddlewares.traefik.$name.data.defaultDecisionSeconds |
| Type | int |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: defaultDecisionSeconds: 60httpTimeoutSeconds
Section titled “httpTimeoutSeconds”Define the httpTimeoutSeconds
| Key | ingressMiddlewares.traefik.$name.data.httpTimeoutSeconds |
| Type | int |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: httpTimeoutSeconds: 10crowdsecMode
Section titled “crowdsecMode”Define the crowdsecMode
| Key | ingressMiddlewares.traefik.$name.data.crowdsec |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecMode: livecrowdsecAppsecEnabled
Section titled “crowdsecAppsecEnabled”Define the crowdsecAppsecEnabled
| Key | ingressMiddlewares.traefik.$name.data.crowdsecAppsecEnabled |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecAppsecEnabled: falsecrowdsecAppsecHost
Section titled “crowdsecAppsecHost”Define the crowdsecAppsecHost
| Key | ingressMiddlewares.traefik.$name.data.crowdsecAppsecHost |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecAppsecHost: crowdsec:7422crowdsecAppsecFailureBlock
Section titled “crowdsecAppsecFailureBlock”Define the crowdsecAppsecFailureBlock
| Key | ingressMiddlewares.traefik.$name.data.crowdsecAppsecFailureBlock |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecAppsecFailureBlock: truecrowdsecAppsecUnreachableBlock
Section titled “crowdsecAppsecUnreachableBlock”Define the crowdsecAppsecUnreachableBlock
| Key | ingressMiddlewares.traefik.$name.data.crowdsecAppsecUnreachableBlock |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecAppsecUnreachableBlock: truecrowdsecLapiKey
Section titled “crowdsecLapiKey”Define the crowdsecLapiKey
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiKey |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiKey: privateKey-foocrowdsecLapiHost
Section titled “crowdsecLapiHost”Define the crowdsecLapiHost
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiHost |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiHost: crowdsec:8080crowdsecLapiScheme
Section titled “crowdsecLapiScheme”Define the crowdsecLapiScheme
| Key | ingressMiddlewares.traefik.$name.data.crowdsec |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiScheme: httpcrowdsecLapiTLSInsecureVerify
Section titled “crowdsecLapiTLSInsecureVerify”Define the crowdsecLapiTLSInsecureVerify
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSInsecureVerify |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiTLSInsecureVerify: falsecrowdsecCapiMachineId
Section titled “crowdsecCapiMachineId”Define the crowdsecCapiMachineId
| Key | ingressMiddlewares.traefik.$name.data.crowdsecCapiMachineId |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecCapiMachineId: logincrowdsecCapiPassword
Section titled “crowdsecCapiPassword”Define the crowdsecCapiPassword
| Key | ingressMiddlewares.traefik.$name.data.crowdsecCapiPassword |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecCapiPassword: passwordcrowdsecCapiScenarios
Section titled “crowdsecCapiScenarios”Define the crowdsecCapiScenarios
| Key | ingressMiddlewares.traefik.$name.data.crowdsecCapiScenarios |
| Type | list of string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecCapiScenarios: - crowdsecurity/http-path-traversal-probing - crowdsecurity/http-xss-probing - crowdsecurity/http-generic-bfforwardedHeadersTrustedIPs
Section titled “forwardedHeadersTrustedIPs”Define the forwardedHeadersTrustedIPs
| Key | ingressMiddlewares.traefik.$name.data.forwardedHeadersTrustedIPs |
| Type | list of string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: forwardedHeadersTrustedIPs: - 10.0.10.23/32 - 10.0.20.0/24clientTrustedIPs
Section titled “clientTrustedIPs”Define the clientTrustedIPs
| Key | ingressMiddlewares.traefik.$name.data.clientTrustedIPs |
| Type | list of string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: clientTrustedIPs: - 192.168.1.0/24forwardedHeadersCustomName
Section titled “forwardedHeadersCustomName”Define the forwardedHeadersCustomName
| Key | ingressMiddlewares.traefik.$name.data.forwardedHeadersCustomName |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: forwardedHeadersCustomName: X-Custom-HeaderremediationHeadersCustomName
Section titled “remediationHeadersCustomName”Define the remediationHeadersCustomName
| Key | ingressMiddlewares.traefik.$name.data.remediationHeadersCustomName |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: remediationHeadersCustomName: cs-remediationredisCacheEnabled
Section titled “redisCacheEnabled”Define the redisCacheEnabled
| Key | ingressMiddlewares.traefik.$name.data.redisCacheEnabled |
| Type | bool |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: redisCacheEnabled: falseredisCacheHost
Section titled “redisCacheHost”Define the redisCacheHost
| Key | ingressMiddlewares.traefik.$name.data.redisCacheHost |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: redisCacheHost: "redis:6379"redisCachePassword
Section titled “redisCachePassword”Define the redisCachePassword
| Key | ingressMiddlewares.traefik.$name.data.redisCachePassword |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: redisCachePassword: passwordredisCacheDatabase
Section titled “redisCacheDatabase”Define the redisCacheDatabase
| Key | ingressMiddlewares.traefik.$name.data.redisCacheDatabase |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: redisCacheDatabase: "5"crowdsecLapiTLSCertificateAuthority
Section titled “crowdsecLapiTLSCertificateAuthority”Define the crowdsecLapiTLSCertificateAuthority
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateAuthority |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiTLSCertificateAuthority: |- -----BEGIN CERTIFICATE----- MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT ... Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT -----END CERTIFICATE-----crowdsecLapiTLSCertificateBouncer
Section titled “crowdsecLapiTLSCertificateBouncer”Define the crowdsecLapiTLSCertificateBouncer
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncer |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: crowdsecLapiTLSCertificateBouncer: |- -----BEGIN CERTIFICATE----- MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL ... RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz N2U= -----END CERTIFICATE-----crowdsecLapiTLSCertificateBouncerKey
Section titled “crowdsecLapiTLSCertificateBouncerKey”Define the crowdsecLapiTLSCertificateBouncerKey
| Key | ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncerKey |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
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
Section titled “captchaProvider”Define the captchaProvider
| Key | ingressMiddlewares.traefik.$name.data.captchaProvider |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: captchaProvider: hcaptchacaptchaSiteKey
Section titled “captchaSiteKey”Define the captchaSiteKey
| Key | ingressMiddlewares.traefik.$name.data.captchaSiteKey |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: captchaSiteKey: FIXMEcaptchaSecretKey
Section titled “captchaSecretKey”Define the captchaSecretKey
| Key | ingressMiddlewares.traefik.$name.data.captchaSecretKey |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: captchaSecretKey: FIXMEcaptchaGracePeriodSeconds
Section titled “captchaGracePeriodSeconds”Define the captchaGracePeriodSeconds
| Key | ingressMiddlewares.traefik.$name.data.captchaGracePeriodSeconds |
| Type | int |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: captchaGracePeriodSeconds: 1800captchaHTMLFilePath
Section titled “captchaHTMLFilePath”Define the captchaHTMLFilePath
| Key | ingressMiddlewares.traefik.$name.data.captchaHTMLFilePath |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: captchaHTMLFilePath: /captcha.htmlbanHTMLFilePath
Section titled “banHTMLFilePath”Define the banHTMLFilePath
| Key | ingressMiddlewares.traefik.$name.data.banHTMLFilePath |
| Type | string |
| Required | ❌ |
Helm tpl | ❌ |
| Default | - |
Example
ingressMiddlewares: traefik: middleware-name: data: banHTMLFilePath: /ban.htmlFull Examples
Section titled “Full Examples”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