refactor: migrate CRD API groups to hanzo.ai and labels to ingress.*

- CRD API group: traefik.io -> hanzo.ai (GroupName, apiVersion, RBAC)
- Docker/provider label prefix: traefik.* -> ingress.* (all providers)
- CRD kind: TraefikService -> IngressService
- Directory renames: traefikio/ -> hanzoai/ (types, generated code, listers, informers, clientset)
- Config root name: traefik -> ingress (KV stores, file paths, env prefix)
- Metrics prefix: traefik_ -> ingress_
- Kubernetes annotations: traefik.ingress.kubernetes.io/ -> ingress.kubernetes.io/
- Gateway annotations: traefik.io/ -> hanzo.ai/
- Internal provider package: provider/traefik -> provider/builtins
- Type renames: TraefikLog -> IngressLog, TraefikCmdConfiguration -> IngressCmdConfiguration
- Generated client methods: TraefikV1alpha1() -> HanzoV1alpha1(), Traefik() -> Hanzo()
- Sample configs: traefik.sample.{toml,yml} -> ingress.sample.{toml,yml}
- Config paths: /etc/traefik/ -> /etc/ingress/, ~/.config/traefik -> ~/.config/ingress
- Default cert CN: TRAEFIK DEFAULT CERT -> INGRESS DEFAULT CERT
This commit is contained in:
2026-02-26 10:33:54 -08:00
parent a10105c019
commit ee53f0bd67
704 changed files with 5009 additions and 5004 deletions
+1 -1
View File
@@ -2358,7 +2358,7 @@ Release canceled.
**Bug fixes:** **Bug fixes:**
- **[acme]** Update go-acme/lego to v4.9.1 ([#9550](https://github.com/traefik/traefik/pull/9550) by [ldez](https://github.com/ldez)) - **[acme]** Update go-acme/lego to v4.9.1 ([#9550](https://github.com/traefik/traefik/pull/9550) by [ldez](https://github.com/ldez))
- **[k8s/crd]** Support of allowEmptyServices in TraefikService ([#9424](https://github.com/traefik/traefik/pull/9424) by [jeromeguiard](https://github.com/jeromeguiard)) - **[k8s/crd]** Support of allowEmptyServices in IngressService ([#9424](https://github.com/traefik/traefik/pull/9424) by [jeromeguiard](https://github.com/jeromeguiard))
- **[logs]** Remove logs of the request ([#9574](https://github.com/traefik/traefik/pull/9574) by [ldez](https://github.com/ldez)) - **[logs]** Remove logs of the request ([#9574](https://github.com/traefik/traefik/pull/9574) by [ldez](https://github.com/ldez))
- **[plugins]** Increase the timeout on plugin download ([#9529](https://github.com/traefik/traefik/pull/9529) by [ldez](https://github.com/ldez)) - **[plugins]** Increase the timeout on plugin download ([#9529](https://github.com/traefik/traefik/pull/9529) by [ldez](https://github.com/ldez))
- **[server]** Update golang.org/x/net ([#9582](https://github.com/traefik/traefik/pull/9582) by [ldez](https://github.com/ldez)) - **[server]** Update golang.org/x/net ([#9582](https://github.com/traefik/traefik/pull/9582) by [ldez](https://github.com/ldez))
+1 -1
View File
@@ -210,7 +210,7 @@ metadata:
annotations: annotations:
ingressclass.kubernetes.io/is-default-class: "true" ingressclass.kubernetes.io/is-default-class: "true"
spec: spec:
controller: traefik.io/ingress-controller controller: hanzo.ai/ingress-controller
``` ```
Any Ingress resource without an explicit `ingressClassName` is automatically picked up. Any Ingress resource without an explicit `ingressClassName` is automatically picked up.
+5 -5
View File
@@ -7,17 +7,17 @@ import (
"github.com/hanzoai/ingress/v3/pkg/config/static" "github.com/hanzoai/ingress/v3/pkg/config/static"
) )
// TraefikCmdConfiguration wraps the static configuration and extra parameters. // IngressCmdConfiguration wraps the static configuration and extra parameters.
type TraefikCmdConfiguration struct { type IngressCmdConfiguration struct {
static.Configuration `export:"true"` static.Configuration `export:"true"`
// ConfigFile is the path to the configuration file. // ConfigFile is the path to the configuration file.
ConfigFile string `description:"Configuration file to use. If specified all other flags are ignored." export:"true"` ConfigFile string `description:"Configuration file to use. If specified all other flags are ignored." export:"true"`
} }
// NewTraefikConfiguration creates a TraefikCmdConfiguration with default values. // NewIngressConfiguration creates a IngressCmdConfiguration with default values.
func NewTraefikConfiguration() *TraefikCmdConfiguration { func NewIngressConfiguration() *IngressCmdConfiguration {
return &TraefikCmdConfiguration{ return &IngressCmdConfiguration{
Configuration: static.Configuration{ Configuration: static.Configuration{
Global: &static.Global{ Global: &static.Global{
CheckNewVersion: true, CheckNewVersion: true,
+7 -7
View File
@@ -12,21 +12,21 @@ import (
) )
// NewCmd builds a new HealthCheck command. // NewCmd builds a new HealthCheck command.
func NewCmd(traefikConfiguration *static.Configuration, loaders []cli.ResourceLoader) *cli.Command { func NewCmd(ingressConfiguration *static.Configuration, loaders []cli.ResourceLoader) *cli.Command {
return &cli.Command{ return &cli.Command{
Name: "healthcheck", Name: "healthcheck",
Description: `Calls Traefik /ping endpoint (disabled by default) to check the health of Traefik.`, Description: `Calls Traefik /ping endpoint (disabled by default) to check the health of Traefik.`,
Configuration: traefikConfiguration, Configuration: ingressConfiguration,
Run: runCmd(traefikConfiguration), Run: runCmd(ingressConfiguration),
Resources: loaders, Resources: loaders,
} }
} }
func runCmd(traefikConfiguration *static.Configuration) func(_ []string) error { func runCmd(ingressConfiguration *static.Configuration) func(_ []string) error {
return func(_ []string) error { return func(_ []string) error {
traefikConfiguration.SetEffectiveConfiguration() ingressConfiguration.SetEffectiveConfiguration()
resp, errPing := Do(*traefikConfiguration) resp, errPing := Do(*ingressConfiguration)
if resp != nil { if resp != nil {
resp.Body.Close() resp.Body.Close()
} }
@@ -53,7 +53,7 @@ func Do(staticConfiguration static.Configuration) (*http.Response, error) {
ep := staticConfiguration.Ping.EntryPoint ep := staticConfiguration.Ping.EntryPoint
if ep == "" { if ep == "" {
ep = "traefik" ep = "ingress"
} }
pingEntryPoint, ok := staticConfiguration.EntryPoints[ep] pingEntryPoint, ok := staticConfiguration.EntryPoints[ep]
+10 -10
View File
@@ -38,7 +38,7 @@ import (
"github.com/hanzoai/ingress/v3/pkg/provider/acme" "github.com/hanzoai/ingress/v3/pkg/provider/acme"
"github.com/hanzoai/ingress/v3/pkg/provider/aggregator" "github.com/hanzoai/ingress/v3/pkg/provider/aggregator"
"github.com/hanzoai/ingress/v3/pkg/provider/tailscale" "github.com/hanzoai/ingress/v3/pkg/provider/tailscale"
"github.com/hanzoai/ingress/v3/pkg/provider/traefik" "github.com/hanzoai/ingress/v3/pkg/provider/builtins"
"github.com/hanzoai/ingress/v3/pkg/proxy" "github.com/hanzoai/ingress/v3/pkg/proxy"
"github.com/hanzoai/ingress/v3/pkg/proxy/httputil" "github.com/hanzoai/ingress/v3/pkg/proxy/httputil"
"github.com/hanzoai/ingress/v3/pkg/redactor" "github.com/hanzoai/ingress/v3/pkg/redactor"
@@ -47,17 +47,17 @@ import (
"github.com/hanzoai/ingress/v3/pkg/server/middleware" "github.com/hanzoai/ingress/v3/pkg/server/middleware"
"github.com/hanzoai/ingress/v3/pkg/server/service" "github.com/hanzoai/ingress/v3/pkg/server/service"
"github.com/hanzoai/ingress/v3/pkg/tcp" "github.com/hanzoai/ingress/v3/pkg/tcp"
traefiktls "github.com/hanzoai/ingress/v3/pkg/tls" ingresstls "github.com/hanzoai/ingress/v3/pkg/tls"
"github.com/hanzoai/ingress/v3/pkg/version" "github.com/hanzoai/ingress/v3/pkg/version"
) )
func main() { func main() {
// traefik config inits // traefik config inits
tConfig := cmd.NewTraefikConfiguration() tConfig := cmd.NewIngressConfiguration()
loaders := []cli.ResourceLoader{&tcli.DeprecationLoader{}, &tcli.FileLoader{}, &tcli.FlagLoader{}, &tcli.EnvLoader{}} loaders := []cli.ResourceLoader{&tcli.DeprecationLoader{}, &tcli.FileLoader{}, &tcli.FlagLoader{}, &tcli.EnvLoader{}}
cmdTraefik := &cli.Command{ cmdIngress := &cli.Command{
Name: "hanzo-ingress", Name: "hanzo-ingress",
Description: `Hanzo Ingress is a cloud-native reverse proxy and load balancer for Hanzo infrastructure. Description: `Hanzo Ingress is a cloud-native reverse proxy and load balancer for Hanzo infrastructure.
Based on Traefik. Documentation: https://doc.traefik.io/traefik/`, Based on Traefik. Documentation: https://doc.traefik.io/traefik/`,
@@ -68,19 +68,19 @@ Based on Traefik. Documentation: https://doc.traefik.io/traefik/`,
}, },
} }
err := cmdTraefik.AddCommand(healthcheck.NewCmd(&tConfig.Configuration, loaders)) err := cmdIngress.AddCommand(healthcheck.NewCmd(&tConfig.Configuration, loaders))
if err != nil { if err != nil {
stdlog.Println(err) stdlog.Println(err)
os.Exit(1) os.Exit(1)
} }
err = cmdTraefik.AddCommand(cmdVersion.NewCmd()) err = cmdIngress.AddCommand(cmdVersion.NewCmd())
if err != nil { if err != nil {
stdlog.Println(err) stdlog.Println(err)
os.Exit(1) os.Exit(1)
} }
err = cli.Execute(cmdTraefik) err = cli.Execute(cmdIngress)
if err != nil { if err != nil {
log.Error().Err(err).Msg("Command error") log.Error().Err(err).Msg("Command error")
logrus.Exit(1) logrus.Exit(1)
@@ -178,14 +178,14 @@ func setupServer(staticConfiguration *static.Configuration) (*server.Server, err
routinesPool := safe.NewPool(ctx) routinesPool := safe.NewPool(ctx)
// adds internal provider // adds internal provider
err := providerAggregator.AddProvider(traefik.New(*staticConfiguration)) err := providerAggregator.AddProvider(builtins.New(*staticConfiguration))
if err != nil { if err != nil {
return nil, err return nil, err
} }
// ACME // ACME
tlsManager := traefiktls.NewManager(staticConfiguration.OCSP) tlsManager := ingresstls.NewManager(staticConfiguration.OCSP)
routinesPool.GoCtx(tlsManager.Run) routinesPool.GoCtx(tlsManager.Run)
httpChallengeProvider := acme.NewChallengeHTTP() httpChallengeProvider := acme.NewChallengeHTTP()
@@ -452,7 +452,7 @@ func switchRouter(routerFactory *server.RouterFactory, serverEntryPointsTCP serv
} }
// initACMEProvider creates and registers acme.Provider instances corresponding to the configured ACME certificate resolvers. // initACMEProvider creates and registers acme.Provider instances corresponding to the configured ACME certificate resolvers.
func initACMEProvider(c *static.Configuration, providerAggregator *aggregator.ProviderAggregator, tlsManager *traefiktls.Manager, httpChallengeProvider, tlsChallengeProvider challenge.Provider, routinesPool *safe.Pool) []*acme.Provider { func initACMEProvider(c *static.Configuration, providerAggregator *aggregator.ProviderAggregator, tlsManager *ingresstls.Manager, httpChallengeProvider, tlsChallengeProvider challenge.Provider, routinesPool *safe.Pool) []*acme.Provider {
localStores := map[string]*acme.LocalStore{} localStores := map[string]*acme.LocalStore{}
var resolvers []*acme.Provider var resolvers []*acme.Provider
+1 -1
View File
@@ -127,7 +127,7 @@ func TestGetDefaultsEntrypoints(t *testing.T) {
"web": { "web": {
Address: ":80", Address: ":80",
}, },
"traefik": { "ingress": {
Address: ":8080", Address: ":8080",
}, },
}, },
+22 -22
View File
@@ -24,7 +24,7 @@ Middlewares allow you to modify requests or responses as they pass through Hanzo
### Create Middlewares ### Create Middlewares
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: secure-headers name: secure-headers
@@ -39,7 +39,7 @@ spec:
stsPreload: true stsPreload: true
stsSeconds: 31536000 stsSeconds: 31536000
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: ip-allowlist name: ip-allowlist
@@ -128,7 +128,7 @@ This approach uses the Gateway API's native filter mechanism rather than annotat
Update your existing IngressRoute to include middlewares: Update your existing IngressRoute to include middlewares:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -213,7 +213,7 @@ helm upgrade traefik traefik/traefik -n traefik --reuse-values -f values.yaml
Update your IngressRoute with the Let's Encrypt certificate: Update your IngressRoute with the Let's Encrypt certificate:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -364,11 +364,11 @@ kubectl scale deployment whoami --replicas=3
### Using Gateway API with Hanzo IngressService ### Using Gateway API with Hanzo IngressService
First, create the `TraefikService` for sticky sessions: First, create the `IngressService` for sticky sessions:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: whoami-sticky name: whoami-sticky
namespace: default namespace: default
@@ -391,7 +391,7 @@ Save this as `whoami-sticky-service.yaml` and apply it:
kubectl apply -f whoami-sticky-service.yaml kubectl apply -f whoami-sticky-service.yaml
``` ```
Now update your `HTTPRoute` with an annotation referencing the `TraefikService`: Now update your `HTTPRoute` with an annotation referencing the `IngressService`:
```yaml ```yaml
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
@@ -429,8 +429,8 @@ spec:
type: PathPrefix type: PathPrefix
value: / value: /
backendRefs: backendRefs:
- group: traefik.io # <── tell Gateway this is a TraefikService - group: traefik.io # <── tell Gateway this is a IngressService
kind: TraefikService kind: IngressService
name: whoami-sticky name: whoami-sticky
filters: filters:
- type: ExtensionRef - type: ExtensionRef
@@ -456,11 +456,11 @@ kubectl apply -f whoami-route.yaml
### Using IngressRoute with Hanzo IngressService ### Using IngressRoute with Hanzo IngressService
First, create the `TraefikService` for sticky sessions: First, create the `IngressService` for sticky sessions:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: whoami-sticky name: whoami-sticky
namespace: default namespace: default
@@ -482,10 +482,10 @@ Save this as `whoami-sticky-service.yaml` and apply it:
kubectl apply -f whoami-sticky-service.yaml kubectl apply -f whoami-sticky-service.yaml
``` ```
Now update your IngressRoute to use this `TraefikService`: Now update your IngressRoute to use this `IngressService`:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -509,7 +509,7 @@ spec:
- name: ip-allowlist - name: ip-allowlist
services: services:
- name: whoami-sticky # Changed from whoami to whoami-sticky - name: whoami-sticky # Changed from whoami to whoami-sticky
kind: TraefikService # Added kind: TraefikService kind: IngressService # Added kind: IngressService
tls: tls:
certResolver: le certResolver: le
``` ```
@@ -660,7 +660,7 @@ stringData:
admin:$apr1$DmXR3Add$wfdbGw6RWIhFb0ffXMM4d0 admin:$apr1$DmXR3Add$wfdbGw6RWIhFb0ffXMM4d0
user:$apr1$GJtcIY1o$mSLdsWYeXpPHVsxGDqadI. user:$apr1$GJtcIY1o$mSLdsWYeXpPHVsxGDqadI.
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth-middleware name: auth-middleware
@@ -670,7 +670,7 @@ spec:
secret: auth-secret secret: auth-secret
headerField: X-Auth-User headerField: X-Auth-User
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: api-parent name: api-parent
@@ -685,7 +685,7 @@ spec:
- name: auth-middleware - name: auth-middleware
# Note: No services and no TLS config - this is a parent IngressRoute # Note: No services and no TLS config - this is a parent IngressRoute
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: api-admin name: api-admin
@@ -701,7 +701,7 @@ spec:
- name: admin-backend - name: admin-backend
port: 80 port: 80
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: api-user name: api-user
@@ -756,7 +756,7 @@ You should see the response from the admin-backend service when authenticating a
You can reference parent IngressRoutes in different namespaces by specifying the `namespace` field: You can reference parent IngressRoutes in different namespaces by specifying the `namespace` field:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: api-child name: api-child
@@ -787,7 +787,7 @@ spec:
Child IngressRoutes can reference multiple parent IngressRoutes: Child IngressRoutes can reference multiple parent IngressRoutes:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: api-child name: api-child
+3 -3
View File
@@ -95,7 +95,7 @@ kubectl apply -f whoami-route.yaml
### Using IngressRoute ### Using IngressRoute
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -252,7 +252,7 @@ kubectl apply -f whoami-route.yaml
Update your existing IngressRoute to include path-based routing: Update your existing IngressRoute to include path-based routing:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -387,7 +387,7 @@ kubectl apply -f whoami-route.yaml
Update your existing IngressRoute to use TLS: Update your existing IngressRoute to use TLS:
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
+1 -1
View File
@@ -186,7 +186,7 @@ Create an IngressRoute:
```yaml ```yaml
# whoami-ingressroute.yaml # whoami-ingressroute.yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -10,7 +10,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
@@ -18,7 +18,7 @@ deploy:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
@@ -18,7 +18,7 @@ deploy:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
+2 -2
View File
@@ -103,7 +103,7 @@ A certificate resolver requests certificates for a set of domain names inferred
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
@@ -159,7 +159,7 @@ A certificate resolver requests certificates for a set of domain names inferred
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
+13 -13
View File
@@ -134,7 +134,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSStore kind: TLSStore
metadata: metadata:
name: default name: default
@@ -195,7 +195,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSStore kind: TLSStore
metadata: metadata:
name: default name: default
@@ -240,7 +240,7 @@ The TLS options allow one to configure some parameters of the TLS connection.
There may exist only one TLSOption with the name `default` (across all namespaces) - otherwise they will be dropped. There may exist only one TLSOption with the name `default` (across all namespaces) - otherwise they will be dropped.
To explicitly use a different TLSOption (and using the Kubernetes Ingress resources) To explicitly use a different TLSOption (and using the Kubernetes Ingress resources)
you'll have to add an annotation to the Ingress in the following form: you'll have to add an annotation to the Ingress in the following form:
`traefik.ingress.kubernetes.io/router.tls.options: <resource-namespace>-<resource-name>@kubernetescrd` `ingress.kubernetes.io/router.tls.options: <resource-namespace>-<resource-name>@kubernetescrd`
### Minimum TLS Version ### Minimum TLS Version
@@ -269,7 +269,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -279,7 +279,7 @@ spec:
minVersion: VersionTLS12 minVersion: VersionTLS12
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: mintls13 name: mintls13
@@ -320,7 +320,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -330,7 +330,7 @@ spec:
maxVersion: VersionTLS13 maxVersion: VersionTLS13
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: maxtls12 name: maxtls12
@@ -365,7 +365,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -410,7 +410,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -446,7 +446,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -485,7 +485,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -539,7 +539,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
@@ -577,7 +577,7 @@ tls:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: default name: default
+1 -1
View File
@@ -20,7 +20,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Prefixing with /foo # Prefixing with /foo
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: add-foo name: add-foo
+6 -6
View File
@@ -26,7 +26,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Declaring the user list # Declaring the user list
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -100,7 +100,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Declaring the user list # Declaring the user list
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -181,7 +181,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -237,7 +237,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -274,7 +274,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: my-auth name: my-auth
@@ -313,7 +313,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
+6 -6
View File
@@ -24,7 +24,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Sets the maximum request body to 2MB # Sets the maximum request body to 2MB
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -70,7 +70,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -109,7 +109,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -150,7 +150,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -189,7 +189,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -230,7 +230,7 @@ You can have the Buffering middleware replay the request using `retryExpression`
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
+5 -5
View File
@@ -28,7 +28,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: test name: test
@@ -45,7 +45,7 @@ spec:
middlewares: middlewares:
- name: secured - name: secured
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: secured name: secured
@@ -56,7 +56,7 @@ spec:
- name: known-ips - name: known-ips
- name: auth-users - name: auth-users
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth-users name: auth-users
@@ -65,7 +65,7 @@ spec:
users: users:
- test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/ - test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: https-only name: https-only
@@ -73,7 +73,7 @@ spec:
redirectScheme: redirectScheme:
scheme: https scheme: https
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: known-ips name: known-ips
@@ -36,7 +36,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Latency Check # Latency Check
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: latency-check name: latency-check
+6 -6
View File
@@ -21,7 +21,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Enable compression # Enable compression
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -90,7 +90,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -139,7 +139,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -192,7 +192,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -233,7 +233,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -274,7 +274,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
+1 -1
View File
@@ -26,7 +26,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Enable auto-detection # Enable auto-detection
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: autodetect name: autodetect
+6 -6
View File
@@ -20,7 +20,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Declaring the user list # Declaring the user list
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -76,7 +76,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -136,7 +136,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -192,7 +192,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -229,7 +229,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: my-auth name: my-auth
@@ -268,7 +268,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
+1 -1
View File
@@ -25,7 +25,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-errors name: test-errors
+17 -17
View File
@@ -22,7 +22,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Forward authentication to example.com # Forward authentication to example.com
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -76,7 +76,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -113,7 +113,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -154,7 +154,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -201,7 +201,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -249,7 +249,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -298,7 +298,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -348,7 +348,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -392,7 +392,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -443,7 +443,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -501,7 +501,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -566,7 +566,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -629,7 +629,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -674,7 +674,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -715,7 +715,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -756,7 +756,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -800,7 +800,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
+1 -1
View File
@@ -23,7 +23,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-grpcweb name: test-grpcweb
+4 -4
View File
@@ -25,7 +25,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -75,7 +75,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -128,7 +128,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -178,7 +178,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
+7 -7
View File
@@ -18,7 +18,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -61,7 +61,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -129,7 +129,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -183,7 +183,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -244,7 +244,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -286,7 +286,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -326,7 +326,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
+5 -5
View File
@@ -19,7 +19,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
@@ -97,7 +97,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Allowlisting Based on `X-Forwarded-For` with `depth=2` # Allowlisting Based on `X-Forwarded-For` with `depth=2`
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
@@ -163,7 +163,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Exclude from `X-Forwarded-For` # Exclude from `X-Forwarded-For`
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
@@ -233,7 +233,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
@@ -277,7 +277,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Reject requests with a 404 rather than a 403 # Reject requests with a 404 rather than a 403
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
+4 -4
View File
@@ -23,7 +23,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipwhitelist name: test-ipwhitelist
@@ -101,7 +101,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Whitelisting Based on `X-Forwarded-For` with `depth=2` # Whitelisting Based on `X-Forwarded-For` with `depth=2`
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipwhitelist name: test-ipwhitelist
@@ -167,7 +167,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Exclude from `X-Forwarded-For` # Exclude from `X-Forwarded-For`
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipwhitelist name: test-ipwhitelist
@@ -237,7 +237,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipWhiteList name: test-ipWhiteList
+2 -2
View File
@@ -25,7 +25,7 @@ whoami:
```yaml tab="IngressRoute" ```yaml tab="IngressRoute"
# As a Kubernetes Hanzo Ingress IngressRoute # As a Kubernetes Hanzo Ingress IngressRoute
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: stripprefix name: stripprefix
@@ -35,7 +35,7 @@ spec:
- /stripit - /stripit
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: ingressroute name: ingressroute
@@ -25,7 +25,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-passtlsclientcert name: test-passtlsclientcert
@@ -83,7 +83,7 @@ http:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Pass all the available info in the `X-Forwarded-Tls-Client-Cert-Info` header # Pass all the available info in the `X-Forwarded-Tls-Client-Cert-Info` header
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-passtlsclientcert name: test-passtlsclientcert
+23 -23
View File
@@ -25,7 +25,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Here, an average of 100 requests per second is allowed. # Here, an average of 100 requests per second is allowed.
# In addition, a burst of 200 requests is allowed. # In addition, a burst of 200 requests is allowed.
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -81,7 +81,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# 100 reqs/s # 100 reqs/s
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -130,7 +130,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# 6 reqs/minute # 6 reqs/minute
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -176,7 +176,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -241,7 +241,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -322,7 +322,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -383,7 +383,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -427,7 +427,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -467,7 +467,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -514,7 +514,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -560,7 +560,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -615,7 +615,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -670,7 +670,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -723,7 +723,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -779,7 +779,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -841,7 +841,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -901,7 +901,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -953,7 +953,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -998,7 +998,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -1043,7 +1043,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -1089,7 +1089,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -1135,7 +1135,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -1180,7 +1180,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -26,7 +26,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Redirect with domain replacement # Redirect with domain replacement
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-redirectregex name: test-redirectregex
@@ -34,7 +34,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Redirect to https # Redirect to https
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-redirectscheme name: test-redirectscheme
@@ -84,7 +84,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Redirect to https # Redirect to https
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-redirectscheme name: test-redirectscheme
@@ -131,7 +131,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Redirect to https # Redirect to https
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-redirectscheme name: test-redirectscheme
@@ -175,7 +175,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Redirect to https # Redirect to https
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-redirectscheme name: test-redirectscheme
+1 -1
View File
@@ -24,7 +24,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Replace the path with /foo # Replace the path with /foo
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-replacepath name: test-replacepath
@@ -25,7 +25,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Replace path with regex # Replace path with regex
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-replacepathregex name: test-replacepathregex
+1 -1
View File
@@ -30,7 +30,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Retry 4 times with exponential backoff # Retry 4 times with exponential backoff
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-retry name: test-retry
+2 -2
View File
@@ -24,7 +24,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Strip prefix /foobar and /fiibar # Strip prefix /foobar and /fiibar
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-stripprefix name: test-stripprefix
@@ -118,7 +118,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: example name: example
@@ -18,7 +18,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-stripprefixregex name: test-stripprefixregex
+2 -2
View File
@@ -35,7 +35,7 @@ whoami:
```yaml tab="IngressRoute" ```yaml tab="IngressRoute"
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: stripprefix name: stripprefix
@@ -45,7 +45,7 @@ spec:
- /stripit - /stripit
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: ingressroute name: ingressroute
+1 -1
View File
@@ -13,7 +13,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: MiddlewareTCP kind: MiddlewareTCP
metadata: metadata:
name: test-inflightconn name: test-inflightconn
+1 -1
View File
@@ -19,7 +19,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: MiddlewareTCP kind: MiddlewareTCP
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
+1 -1
View File
@@ -23,7 +23,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: MiddlewareTCP kind: MiddlewareTCP
metadata: metadata:
name: test-ipwhitelist name: test-ipwhitelist
+2 -2
View File
@@ -25,7 +25,7 @@ whoami:
```yaml tab="IngressRoute" ```yaml tab="IngressRoute"
# As a Kubernetes Hanzo Ingress IngressRoute # As a Kubernetes Hanzo Ingress IngressRoute
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: MiddlewareTCP kind: MiddlewareTCP
metadata: metadata:
name: foo-ip-allowlist name: foo-ip-allowlist
@@ -36,7 +36,7 @@ spec:
- 192.168.1.7 - 192.168.1.7
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRouteTCP kind: IngressRouteTCP
metadata: metadata:
name: ingressroute name: ingressroute
+3 -3
View File
@@ -550,9 +550,9 @@ In v3, the Kubernetes Ingress default path matching does not support regexes any
Two levels of remediation are possible: Two levels of remediation are possible:
- Interpret the default path matcher `PathPrefix` with v2 syntax. - Interpret the default path matcher `PathPrefix` with v2 syntax.
This can done globally for all routers with the [static configuration](#configure-the-default-syntax-in-static-configuration) or on a per-router basis by using the [traefik.ingress.kubernetes.io/router.rulesyntax](../routing/providers/kubernetes-ingress.md#annotations) annotation. This can done globally for all routers with the [static configuration](#configure-the-default-syntax-in-static-configuration) or on a per-router basis by using the [ingress.kubernetes.io/router.rulesyntax](../routing/providers/kubernetes-ingress.md#annotations) annotation.
- Adapt the path regex to be compatible with the Go regex syntax and change the default path matcher to use the `PathRegexp` matcher with the [`traefik.ingress.kubernetes.io/router.pathmatcher`](../routing/providers/kubernetes-ingress.md#annotations) annotation. - Adapt the path regex to be compatible with the Go regex syntax and change the default path matcher to use the `PathRegexp` matcher with the [`ingress.kubernetes.io/router.pathmatcher`](../routing/providers/kubernetes-ingress.md#annotations) annotation.
## Operations Changes ## Operations Changes
@@ -690,7 +690,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: test.route name: test.route
+3 -3
View File
@@ -113,7 +113,7 @@ kubectl apply -f https://raw.githubusercontent.com/hanzoai/ingress/v3.3/docs/con
**Updated Resources:** **Updated Resources:**
- [TraefikService](../routing/services/index.md#mirroring-service) ([PR #11032](https://github.com/hanzoai/ingress/pull/11032)) - [IngressService](../routing/services/index.md#mirroring-service) ([PR #11032](https://github.com/hanzoai/ingress/pull/11032))
- [RateLimit](../middlewares/http/ratelimit.md) & [InFlightReq](../middlewares/http/inflightreq.md) middlewares ([PR #9747](https://github.com/hanzoai/ingress/pull/9747)) - [RateLimit](../middlewares/http/ratelimit.md) & [InFlightReq](../middlewares/http/inflightreq.md) middlewares ([PR #9747](https://github.com/hanzoai/ingress/pull/9747))
- [Compress](../middlewares/http/compress.md) middleware ([PR #10943](https://github.com/hanzoai/ingress/pull/10943)) - [Compress](../middlewares/http/compress.md) middleware ([PR #10943](https://github.com/hanzoai/ingress/pull/10943))
@@ -346,7 +346,7 @@ kubectl apply -f https://raw.githubusercontent.com/hanzoai/ingress/v3.4/docs/con
```yaml ```yaml
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: ServersTransport kind: ServersTransport
metadata: metadata:
name: foo name: foo
@@ -357,7 +357,7 @@ spec:
- secret: ca-secret - secret: ca-secret
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: ServersTransportTCP kind: ServersTransportTCP
metadata: metadata:
name: foo name: foo
+1 -1
View File
@@ -120,7 +120,7 @@ http:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# ingressroute.yaml # ingressroute.yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: my-router name: my-router
+1 -1
View File
@@ -69,7 +69,7 @@ http:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# ingressroute.yaml # ingressroute.yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: my-router name: my-router
+1 -1
View File
@@ -61,7 +61,7 @@ http:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# ingressoute.yaml # ingressoute.yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: my-router name: my-router
@@ -20,7 +20,7 @@ deploy:
``` ```
```yaml tab="Kubernetes CRD" ```yaml tab="Kubernetes CRD"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: traefik-dashboard name: traefik-dashboard
@@ -30,11 +30,11 @@ spec:
kind: Rule kind: Rule
services: services:
- name: api@internal - name: api@internal
kind: TraefikService kind: IngressService
middlewares: middlewares:
- name: auth - name: auth
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth name: auth
@@ -20,7 +20,7 @@ deploy:
``` ```
```yaml tab="Kubernetes CRD" ```yaml tab="Kubernetes CRD"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: traefik-dashboard name: traefik-dashboard
@@ -30,11 +30,11 @@ spec:
kind: Rule kind: Rule
services: services:
- name: api@internal - name: api@internal
kind: TraefikService kind: IngressService
middlewares: middlewares:
- name: auth - name: auth
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth name: auth
@@ -20,7 +20,7 @@ deploy:
``` ```
```yaml tab="Kubernetes CRD" ```yaml tab="Kubernetes CRD"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: traefik-dashboard name: traefik-dashboard
@@ -30,11 +30,11 @@ spec:
kind: Rule kind: Rule
services: services:
- name: api@internal - name: api@internal
kind: TraefikService kind: IngressService
middlewares: middlewares:
- name: auth - name: auth
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth name: auth
+2 -2
View File
@@ -243,7 +243,7 @@ Otherwise, Ingresses missing the annotation, having an empty value, or the value
metadata: metadata:
name: traefik-lb name: traefik-lb
spec: spec:
controller: traefik.io/ingress-controller controller: hanzo.ai/ingress-controller
``` ```
```yaml tab="Ingress" ```yaml tab="Ingress"
@@ -510,7 +510,7 @@ providers:
_Optional, Default: false_ _Optional, Default: false_
Defines whether to use Native Kubernetes load-balancing mode by default. Defines whether to use Native Kubernetes load-balancing mode by default.
For more information, please check out the `traefik.ingress.kubernetes.io/service.nativelb` [service annotation documentation](../routing/providers/kubernetes-ingress.md#on-service). For more information, please check out the `ingress.kubernetes.io/service.nativelb` [service annotation documentation](../routing/providers/kubernetes-ingress.md#on-service).
```yaml tab="File (YAML)" ```yaml tab="File (YAML)"
providers: providers:
+3 -3
View File
@@ -82,7 +82,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
``` ```
```yaml tab="IngressRoute" ```yaml tab="IngressRoute"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: ingressroutestripprefix name: ingressroutestripprefix
@@ -104,7 +104,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
``` ```
```yaml tab="Ingress" ```yaml tab="Ingress"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: stripprefix name: stripprefix
@@ -123,7 +123,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
annotations: annotations:
# referencing a middleware from Kubernetes CRD provider: # referencing a middleware from Kubernetes CRD provider:
# <middleware-namespace>-<middleware-name>@kubernetescrd # <middleware-namespace>-<middleware-name>@kubernetescrd
"traefik.ingress.kubernetes.io/router.middlewares": appspace-stripprefix@kubernetescrd "ingress.kubernetes.io/router.middlewares": appspace-stripprefix@kubernetescrd
spec: spec:
# ... regular ingress definition # ... regular ingress definition
``` ```
@@ -1,283 +1,283 @@
## CODE GENERATED AUTOMATICALLY ## CODE GENERATED AUTOMATICALLY
## THIS FILE MUST NOT BE EDITED BY HAND ## THIS FILE MUST NOT BE EDITED BY HAND
- "traefik.http.middlewares.middleware01.addprefix.prefix=foobar" - "ingress.http.middlewares.middleware01.addprefix.prefix=foobar"
- "traefik.http.middlewares.middleware02.basicauth.headerfield=foobar" - "ingress.http.middlewares.middleware02.basicauth.headerfield=foobar"
- "traefik.http.middlewares.middleware02.basicauth.realm=foobar" - "ingress.http.middlewares.middleware02.basicauth.realm=foobar"
- "traefik.http.middlewares.middleware02.basicauth.removeheader=true" - "ingress.http.middlewares.middleware02.basicauth.removeheader=true"
- "traefik.http.middlewares.middleware02.basicauth.users=foobar, foobar" - "ingress.http.middlewares.middleware02.basicauth.users=foobar, foobar"
- "traefik.http.middlewares.middleware02.basicauth.usersfile=foobar" - "ingress.http.middlewares.middleware02.basicauth.usersfile=foobar"
- "traefik.http.middlewares.middleware03.buffering.maxrequestbodybytes=42" - "ingress.http.middlewares.middleware03.buffering.maxrequestbodybytes=42"
- "traefik.http.middlewares.middleware03.buffering.maxresponsebodybytes=42" - "ingress.http.middlewares.middleware03.buffering.maxresponsebodybytes=42"
- "traefik.http.middlewares.middleware03.buffering.memrequestbodybytes=42" - "ingress.http.middlewares.middleware03.buffering.memrequestbodybytes=42"
- "traefik.http.middlewares.middleware03.buffering.memresponsebodybytes=42" - "ingress.http.middlewares.middleware03.buffering.memresponsebodybytes=42"
- "traefik.http.middlewares.middleware03.buffering.retryexpression=foobar" - "ingress.http.middlewares.middleware03.buffering.retryexpression=foobar"
- "traefik.http.middlewares.middleware04.chain.middlewares=foobar, foobar" - "ingress.http.middlewares.middleware04.chain.middlewares=foobar, foobar"
- "traefik.http.middlewares.middleware05.circuitbreaker.checkperiod=42s" - "ingress.http.middlewares.middleware05.circuitbreaker.checkperiod=42s"
- "traefik.http.middlewares.middleware05.circuitbreaker.expression=foobar" - "ingress.http.middlewares.middleware05.circuitbreaker.expression=foobar"
- "traefik.http.middlewares.middleware05.circuitbreaker.fallbackduration=42s" - "ingress.http.middlewares.middleware05.circuitbreaker.fallbackduration=42s"
- "traefik.http.middlewares.middleware05.circuitbreaker.recoveryduration=42s" - "ingress.http.middlewares.middleware05.circuitbreaker.recoveryduration=42s"
- "traefik.http.middlewares.middleware05.circuitbreaker.responsecode=42" - "ingress.http.middlewares.middleware05.circuitbreaker.responsecode=42"
- "traefik.http.middlewares.middleware06.compress=true" - "ingress.http.middlewares.middleware06.compress=true"
- "traefik.http.middlewares.middleware06.compress.defaultencoding=foobar" - "ingress.http.middlewares.middleware06.compress.defaultencoding=foobar"
- "traefik.http.middlewares.middleware06.compress.encodings=foobar, foobar" - "ingress.http.middlewares.middleware06.compress.encodings=foobar, foobar"
- "traefik.http.middlewares.middleware06.compress.excludedcontenttypes=foobar, foobar" - "ingress.http.middlewares.middleware06.compress.excludedcontenttypes=foobar, foobar"
- "traefik.http.middlewares.middleware06.compress.includedcontenttypes=foobar, foobar" - "ingress.http.middlewares.middleware06.compress.includedcontenttypes=foobar, foobar"
- "traefik.http.middlewares.middleware06.compress.minresponsebodybytes=42" - "ingress.http.middlewares.middleware06.compress.minresponsebodybytes=42"
- "traefik.http.middlewares.middleware07.contenttype=true" - "ingress.http.middlewares.middleware07.contenttype=true"
- "traefik.http.middlewares.middleware07.contenttype.autodetect=true" - "ingress.http.middlewares.middleware07.contenttype.autodetect=true"
- "traefik.http.middlewares.middleware08.digestauth.headerfield=foobar" - "ingress.http.middlewares.middleware08.digestauth.headerfield=foobar"
- "traefik.http.middlewares.middleware08.digestauth.realm=foobar" - "ingress.http.middlewares.middleware08.digestauth.realm=foobar"
- "traefik.http.middlewares.middleware08.digestauth.removeheader=true" - "ingress.http.middlewares.middleware08.digestauth.removeheader=true"
- "traefik.http.middlewares.middleware08.digestauth.users=foobar, foobar" - "ingress.http.middlewares.middleware08.digestauth.users=foobar, foobar"
- "traefik.http.middlewares.middleware08.digestauth.usersfile=foobar" - "ingress.http.middlewares.middleware08.digestauth.usersfile=foobar"
- "traefik.http.middlewares.middleware09.errors.query=foobar" - "ingress.http.middlewares.middleware09.errors.query=foobar"
- "traefik.http.middlewares.middleware09.errors.service=foobar" - "ingress.http.middlewares.middleware09.errors.service=foobar"
- "traefik.http.middlewares.middleware09.errors.status=foobar, foobar" - "ingress.http.middlewares.middleware09.errors.status=foobar, foobar"
- "traefik.http.middlewares.middleware09.errors.statusrewrites.name0=42" - "ingress.http.middlewares.middleware09.errors.statusrewrites.name0=42"
- "traefik.http.middlewares.middleware09.errors.statusrewrites.name1=42" - "ingress.http.middlewares.middleware09.errors.statusrewrites.name1=42"
- "traefik.http.middlewares.middleware10.forwardauth.addauthcookiestoresponse=foobar, foobar" - "ingress.http.middlewares.middleware10.forwardauth.addauthcookiestoresponse=foobar, foobar"
- "traefik.http.middlewares.middleware10.forwardauth.address=foobar" - "ingress.http.middlewares.middleware10.forwardauth.address=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.authrequestheaders=foobar, foobar" - "ingress.http.middlewares.middleware10.forwardauth.authrequestheaders=foobar, foobar"
- "traefik.http.middlewares.middleware10.forwardauth.authresponseheaders=foobar, foobar" - "ingress.http.middlewares.middleware10.forwardauth.authresponseheaders=foobar, foobar"
- "traefik.http.middlewares.middleware10.forwardauth.authresponseheadersregex=foobar" - "ingress.http.middlewares.middleware10.forwardauth.authresponseheadersregex=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.forwardbody=true" - "ingress.http.middlewares.middleware10.forwardauth.forwardbody=true"
- "traefik.http.middlewares.middleware10.forwardauth.headerfield=foobar" - "ingress.http.middlewares.middleware10.forwardauth.headerfield=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.maxbodysize=42" - "ingress.http.middlewares.middleware10.forwardauth.maxbodysize=42"
- "traefik.http.middlewares.middleware10.forwardauth.maxresponsebodysize=42" - "ingress.http.middlewares.middleware10.forwardauth.maxresponsebodysize=42"
- "traefik.http.middlewares.middleware10.forwardauth.preservelocationheader=true" - "ingress.http.middlewares.middleware10.forwardauth.preservelocationheader=true"
- "traefik.http.middlewares.middleware10.forwardauth.preserverequestmethod=true" - "ingress.http.middlewares.middleware10.forwardauth.preserverequestmethod=true"
- "traefik.http.middlewares.middleware10.forwardauth.tls.ca=foobar" - "ingress.http.middlewares.middleware10.forwardauth.tls.ca=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.tls.caoptional=true" - "ingress.http.middlewares.middleware10.forwardauth.tls.caoptional=true"
- "traefik.http.middlewares.middleware10.forwardauth.tls.cert=foobar" - "ingress.http.middlewares.middleware10.forwardauth.tls.cert=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.tls.insecureskipverify=true" - "ingress.http.middlewares.middleware10.forwardauth.tls.insecureskipverify=true"
- "traefik.http.middlewares.middleware10.forwardauth.tls.key=foobar" - "ingress.http.middlewares.middleware10.forwardauth.tls.key=foobar"
- "traefik.http.middlewares.middleware10.forwardauth.trustforwardheader=true" - "ingress.http.middlewares.middleware10.forwardauth.trustforwardheader=true"
- "traefik.http.middlewares.middleware11.grpcweb.alloworigins=foobar, foobar" - "ingress.http.middlewares.middleware11.grpcweb.alloworigins=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowcredentials=true" - "ingress.http.middlewares.middleware12.headers.accesscontrolallowcredentials=true"
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowheaders=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.accesscontrolallowheaders=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowmethods=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.accesscontrolallowmethods=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolalloworiginlist=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.accesscontrolalloworiginlist=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolalloworiginlistregex=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.accesscontrolalloworiginlistregex=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolexposeheaders=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.accesscontrolexposeheaders=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.accesscontrolmaxage=42" - "ingress.http.middlewares.middleware12.headers.accesscontrolmaxage=42"
- "traefik.http.middlewares.middleware12.headers.addvaryheader=true" - "ingress.http.middlewares.middleware12.headers.addvaryheader=true"
- "traefik.http.middlewares.middleware12.headers.allowedhosts=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.allowedhosts=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.browserxssfilter=true" - "ingress.http.middlewares.middleware12.headers.browserxssfilter=true"
- "traefik.http.middlewares.middleware12.headers.contentsecuritypolicy=foobar" - "ingress.http.middlewares.middleware12.headers.contentsecuritypolicy=foobar"
- "traefik.http.middlewares.middleware12.headers.contentsecuritypolicyreportonly=foobar" - "ingress.http.middlewares.middleware12.headers.contentsecuritypolicyreportonly=foobar"
- "traefik.http.middlewares.middleware12.headers.contenttypenosniff=true" - "ingress.http.middlewares.middleware12.headers.contenttypenosniff=true"
- "traefik.http.middlewares.middleware12.headers.custombrowserxssvalue=foobar" - "ingress.http.middlewares.middleware12.headers.custombrowserxssvalue=foobar"
- "traefik.http.middlewares.middleware12.headers.customframeoptionsvalue=foobar" - "ingress.http.middlewares.middleware12.headers.customframeoptionsvalue=foobar"
- "traefik.http.middlewares.middleware12.headers.customrequestheaders.name0=foobar" - "ingress.http.middlewares.middleware12.headers.customrequestheaders.name0=foobar"
- "traefik.http.middlewares.middleware12.headers.customrequestheaders.name1=foobar" - "ingress.http.middlewares.middleware12.headers.customrequestheaders.name1=foobar"
- "traefik.http.middlewares.middleware12.headers.customresponseheaders.name0=foobar" - "ingress.http.middlewares.middleware12.headers.customresponseheaders.name0=foobar"
- "traefik.http.middlewares.middleware12.headers.customresponseheaders.name1=foobar" - "ingress.http.middlewares.middleware12.headers.customresponseheaders.name1=foobar"
- "traefik.http.middlewares.middleware12.headers.featurepolicy=foobar" - "ingress.http.middlewares.middleware12.headers.featurepolicy=foobar"
- "traefik.http.middlewares.middleware12.headers.forcestsheader=true" - "ingress.http.middlewares.middleware12.headers.forcestsheader=true"
- "traefik.http.middlewares.middleware12.headers.framedeny=true" - "ingress.http.middlewares.middleware12.headers.framedeny=true"
- "traefik.http.middlewares.middleware12.headers.hostsproxyheaders=foobar, foobar" - "ingress.http.middlewares.middleware12.headers.hostsproxyheaders=foobar, foobar"
- "traefik.http.middlewares.middleware12.headers.isdevelopment=true" - "ingress.http.middlewares.middleware12.headers.isdevelopment=true"
- "traefik.http.middlewares.middleware12.headers.permissionspolicy=foobar" - "ingress.http.middlewares.middleware12.headers.permissionspolicy=foobar"
- "traefik.http.middlewares.middleware12.headers.publickey=foobar" - "ingress.http.middlewares.middleware12.headers.publickey=foobar"
- "traefik.http.middlewares.middleware12.headers.referrerpolicy=foobar" - "ingress.http.middlewares.middleware12.headers.referrerpolicy=foobar"
- "traefik.http.middlewares.middleware12.headers.sslforcehost=true" - "ingress.http.middlewares.middleware12.headers.sslforcehost=true"
- "traefik.http.middlewares.middleware12.headers.sslhost=foobar" - "ingress.http.middlewares.middleware12.headers.sslhost=foobar"
- "traefik.http.middlewares.middleware12.headers.sslproxyheaders.name0=foobar" - "ingress.http.middlewares.middleware12.headers.sslproxyheaders.name0=foobar"
- "traefik.http.middlewares.middleware12.headers.sslproxyheaders.name1=foobar" - "ingress.http.middlewares.middleware12.headers.sslproxyheaders.name1=foobar"
- "traefik.http.middlewares.middleware12.headers.sslredirect=true" - "ingress.http.middlewares.middleware12.headers.sslredirect=true"
- "traefik.http.middlewares.middleware12.headers.ssltemporaryredirect=true" - "ingress.http.middlewares.middleware12.headers.ssltemporaryredirect=true"
- "traefik.http.middlewares.middleware12.headers.stsincludesubdomains=true" - "ingress.http.middlewares.middleware12.headers.stsincludesubdomains=true"
- "traefik.http.middlewares.middleware12.headers.stspreload=true" - "ingress.http.middlewares.middleware12.headers.stspreload=true"
- "traefik.http.middlewares.middleware12.headers.stsseconds=42" - "ingress.http.middlewares.middleware12.headers.stsseconds=42"
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy=true" - "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy=true"
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.depth=42" - "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.depth=42"
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.excludedips=foobar, foobar" - "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.excludedips=foobar, foobar"
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.ipv6subnet=42" - "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.ipv6subnet=42"
- "traefik.http.middlewares.middleware13.ipallowlist.rejectstatuscode=42" - "ingress.http.middlewares.middleware13.ipallowlist.rejectstatuscode=42"
- "traefik.http.middlewares.middleware13.ipallowlist.sourcerange=foobar, foobar" - "ingress.http.middlewares.middleware13.ipallowlist.sourcerange=foobar, foobar"
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy=true" - "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy=true"
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.depth=42" - "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.depth=42"
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.excludedips=foobar, foobar" - "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.excludedips=foobar, foobar"
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.ipv6subnet=42" - "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.ipv6subnet=42"
- "traefik.http.middlewares.middleware14.ipwhitelist.sourcerange=foobar, foobar" - "ingress.http.middlewares.middleware14.ipwhitelist.sourcerange=foobar, foobar"
- "traefik.http.middlewares.middleware15.inflightreq.amount=42" - "ingress.http.middlewares.middleware15.inflightreq.amount=42"
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.depth=42" - "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.depth=42"
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.excludedips=foobar, foobar" - "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.ipv6subnet=42" - "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.ipv6subnet=42"
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.requestheadername=foobar" - "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.requestheadername=foobar"
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.requesthost=true" - "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.requesthost=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.commonname=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.commonname=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.country=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.country=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.domaincomponent=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.domaincomponent=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.locality=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.locality=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.organization=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.organization=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.province=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.province=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.serialnumber=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.serialnumber=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.notafter=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.notafter=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.notbefore=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.notbefore=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.sans=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.sans=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.serialnumber=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.serialnumber=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.commonname=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.commonname=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.country=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.country=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.domaincomponent=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.domaincomponent=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.locality=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.locality=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.organization=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.organization=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.organizationalunit=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.organizationalunit=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.province=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.province=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.serialnumber=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.serialnumber=true"
- "traefik.http.middlewares.middleware16.passtlsclientcert.pem=true" - "ingress.http.middlewares.middleware16.passtlsclientcert.pem=true"
- "traefik.http.middlewares.middleware17.plugin.pluginconf0.name0=foobar" - "ingress.http.middlewares.middleware17.plugin.pluginconf0.name0=foobar"
- "traefik.http.middlewares.middleware17.plugin.pluginconf0.name1=foobar" - "ingress.http.middlewares.middleware17.plugin.pluginconf0.name1=foobar"
- "traefik.http.middlewares.middleware17.plugin.pluginconf1.name0=foobar" - "ingress.http.middlewares.middleware17.plugin.pluginconf1.name0=foobar"
- "traefik.http.middlewares.middleware17.plugin.pluginconf1.name1=foobar" - "ingress.http.middlewares.middleware17.plugin.pluginconf1.name1=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.average=42" - "ingress.http.middlewares.middleware18.ratelimit.average=42"
- "traefik.http.middlewares.middleware18.ratelimit.burst=42" - "ingress.http.middlewares.middleware18.ratelimit.burst=42"
- "traefik.http.middlewares.middleware18.ratelimit.period=42s" - "ingress.http.middlewares.middleware18.ratelimit.period=42s"
- "traefik.http.middlewares.middleware18.ratelimit.redis.db=42" - "ingress.http.middlewares.middleware18.ratelimit.redis.db=42"
- "traefik.http.middlewares.middleware18.ratelimit.redis.dialtimeout=42s" - "ingress.http.middlewares.middleware18.ratelimit.redis.dialtimeout=42s"
- "traefik.http.middlewares.middleware18.ratelimit.redis.endpoints=foobar, foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.endpoints=foobar, foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.maxactiveconns=42" - "ingress.http.middlewares.middleware18.ratelimit.redis.maxactiveconns=42"
- "traefik.http.middlewares.middleware18.ratelimit.redis.minidleconns=42" - "ingress.http.middlewares.middleware18.ratelimit.redis.minidleconns=42"
- "traefik.http.middlewares.middleware18.ratelimit.redis.password=foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.password=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.poolsize=42" - "ingress.http.middlewares.middleware18.ratelimit.redis.poolsize=42"
- "traefik.http.middlewares.middleware18.ratelimit.redis.readtimeout=42s" - "ingress.http.middlewares.middleware18.ratelimit.redis.readtimeout=42s"
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.ca=foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.tls.ca=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.cert=foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.tls.cert=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.insecureskipverify=true" - "ingress.http.middlewares.middleware18.ratelimit.redis.tls.insecureskipverify=true"
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.key=foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.tls.key=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.username=foobar" - "ingress.http.middlewares.middleware18.ratelimit.redis.username=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.redis.writetimeout=42s" - "ingress.http.middlewares.middleware18.ratelimit.redis.writetimeout=42s"
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.depth=42" - "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.depth=42"
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.excludedips=foobar, foobar" - "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.ipv6subnet=42" - "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.ipv6subnet=42"
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.requestheadername=foobar" - "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.requestheadername=foobar"
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.requesthost=true" - "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.requesthost=true"
- "traefik.http.middlewares.middleware19.redirectregex.permanent=true" - "ingress.http.middlewares.middleware19.redirectregex.permanent=true"
- "traefik.http.middlewares.middleware19.redirectregex.regex=foobar" - "ingress.http.middlewares.middleware19.redirectregex.regex=foobar"
- "traefik.http.middlewares.middleware19.redirectregex.replacement=foobar" - "ingress.http.middlewares.middleware19.redirectregex.replacement=foobar"
- "traefik.http.middlewares.middleware20.redirectscheme.permanent=true" - "ingress.http.middlewares.middleware20.redirectscheme.permanent=true"
- "traefik.http.middlewares.middleware20.redirectscheme.port=foobar" - "ingress.http.middlewares.middleware20.redirectscheme.port=foobar"
- "traefik.http.middlewares.middleware20.redirectscheme.scheme=foobar" - "ingress.http.middlewares.middleware20.redirectscheme.scheme=foobar"
- "traefik.http.middlewares.middleware21.replacepath.path=foobar" - "ingress.http.middlewares.middleware21.replacepath.path=foobar"
- "traefik.http.middlewares.middleware22.replacepathregex.regex=foobar" - "ingress.http.middlewares.middleware22.replacepathregex.regex=foobar"
- "traefik.http.middlewares.middleware22.replacepathregex.replacement=foobar" - "ingress.http.middlewares.middleware22.replacepathregex.replacement=foobar"
- "traefik.http.middlewares.middleware23.retry.attempts=42" - "ingress.http.middlewares.middleware23.retry.attempts=42"
- "traefik.http.middlewares.middleware23.retry.initialinterval=42s" - "ingress.http.middlewares.middleware23.retry.initialinterval=42s"
- "traefik.http.middlewares.middleware24.stripprefix.forceslash=true" - "ingress.http.middlewares.middleware24.stripprefix.forceslash=true"
- "traefik.http.middlewares.middleware24.stripprefix.prefixes=foobar, foobar" - "ingress.http.middlewares.middleware24.stripprefix.prefixes=foobar, foobar"
- "traefik.http.middlewares.middleware25.stripprefixregex.regex=foobar, foobar" - "ingress.http.middlewares.middleware25.stripprefixregex.regex=foobar, foobar"
- "traefik.http.routers.router0.entrypoints=foobar, foobar" - "ingress.http.routers.router0.entrypoints=foobar, foobar"
- "traefik.http.routers.router0.middlewares=foobar, foobar" - "ingress.http.routers.router0.middlewares=foobar, foobar"
- "traefik.http.routers.router0.observability.accesslogs=true" - "ingress.http.routers.router0.observability.accesslogs=true"
- "traefik.http.routers.router0.observability.metrics=true" - "ingress.http.routers.router0.observability.metrics=true"
- "traefik.http.routers.router0.observability.traceverbosity=foobar" - "ingress.http.routers.router0.observability.traceverbosity=foobar"
- "traefik.http.routers.router0.observability.tracing=true" - "ingress.http.routers.router0.observability.tracing=true"
- "traefik.http.routers.router0.priority=42" - "ingress.http.routers.router0.priority=42"
- "traefik.http.routers.router0.rule=foobar" - "ingress.http.routers.router0.rule=foobar"
- "traefik.http.routers.router0.rulesyntax=foobar" - "ingress.http.routers.router0.rulesyntax=foobar"
- "traefik.http.routers.router0.service=foobar" - "ingress.http.routers.router0.service=foobar"
- "traefik.http.routers.router0.tls=true" - "ingress.http.routers.router0.tls=true"
- "traefik.http.routers.router0.tls.certresolver=foobar" - "ingress.http.routers.router0.tls.certresolver=foobar"
- "traefik.http.routers.router0.tls.domains[0].main=foobar" - "ingress.http.routers.router0.tls.domains[0].main=foobar"
- "traefik.http.routers.router0.tls.domains[0].sans=foobar, foobar" - "ingress.http.routers.router0.tls.domains[0].sans=foobar, foobar"
- "traefik.http.routers.router0.tls.domains[1].main=foobar" - "ingress.http.routers.router0.tls.domains[1].main=foobar"
- "traefik.http.routers.router0.tls.domains[1].sans=foobar, foobar" - "ingress.http.routers.router0.tls.domains[1].sans=foobar, foobar"
- "traefik.http.routers.router0.tls.options=foobar" - "ingress.http.routers.router0.tls.options=foobar"
- "traefik.http.routers.router1.entrypoints=foobar, foobar" - "ingress.http.routers.router1.entrypoints=foobar, foobar"
- "traefik.http.routers.router1.middlewares=foobar, foobar" - "ingress.http.routers.router1.middlewares=foobar, foobar"
- "traefik.http.routers.router1.observability.accesslogs=true" - "ingress.http.routers.router1.observability.accesslogs=true"
- "traefik.http.routers.router1.observability.metrics=true" - "ingress.http.routers.router1.observability.metrics=true"
- "traefik.http.routers.router1.observability.traceverbosity=foobar" - "ingress.http.routers.router1.observability.traceverbosity=foobar"
- "traefik.http.routers.router1.observability.tracing=true" - "ingress.http.routers.router1.observability.tracing=true"
- "traefik.http.routers.router1.priority=42" - "ingress.http.routers.router1.priority=42"
- "traefik.http.routers.router1.rule=foobar" - "ingress.http.routers.router1.rule=foobar"
- "traefik.http.routers.router1.rulesyntax=foobar" - "ingress.http.routers.router1.rulesyntax=foobar"
- "traefik.http.routers.router1.service=foobar" - "ingress.http.routers.router1.service=foobar"
- "traefik.http.routers.router1.tls=true" - "ingress.http.routers.router1.tls=true"
- "traefik.http.routers.router1.tls.certresolver=foobar" - "ingress.http.routers.router1.tls.certresolver=foobar"
- "traefik.http.routers.router1.tls.domains[0].main=foobar" - "ingress.http.routers.router1.tls.domains[0].main=foobar"
- "traefik.http.routers.router1.tls.domains[0].sans=foobar, foobar" - "ingress.http.routers.router1.tls.domains[0].sans=foobar, foobar"
- "traefik.http.routers.router1.tls.domains[1].main=foobar" - "ingress.http.routers.router1.tls.domains[1].main=foobar"
- "traefik.http.routers.router1.tls.domains[1].sans=foobar, foobar" - "ingress.http.routers.router1.tls.domains[1].sans=foobar, foobar"
- "traefik.http.routers.router1.tls.options=foobar" - "ingress.http.routers.router1.tls.options=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.followredirects=true" - "ingress.http.services.service03.loadbalancer.healthcheck.followredirects=true"
- "traefik.http.services.service03.loadbalancer.healthcheck.headers.name0=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.headers.name0=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.headers.name1=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.headers.name1=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.hostname=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.hostname=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.interval=42s" - "ingress.http.services.service03.loadbalancer.healthcheck.interval=42s"
- "traefik.http.services.service03.loadbalancer.healthcheck.method=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.method=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.mode=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.mode=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.path=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.path=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.port=42" - "ingress.http.services.service03.loadbalancer.healthcheck.port=42"
- "traefik.http.services.service03.loadbalancer.healthcheck.scheme=foobar" - "ingress.http.services.service03.loadbalancer.healthcheck.scheme=foobar"
- "traefik.http.services.service03.loadbalancer.healthcheck.status=42" - "ingress.http.services.service03.loadbalancer.healthcheck.status=42"
- "traefik.http.services.service03.loadbalancer.healthcheck.timeout=42s" - "ingress.http.services.service03.loadbalancer.healthcheck.timeout=42s"
- "traefik.http.services.service03.loadbalancer.healthcheck.unhealthyinterval=42s" - "ingress.http.services.service03.loadbalancer.healthcheck.unhealthyinterval=42s"
- "traefik.http.services.service03.loadbalancer.passhostheader=true" - "ingress.http.services.service03.loadbalancer.passhostheader=true"
- "traefik.http.services.service03.loadbalancer.passivehealthcheck.failurewindow=42s" - "ingress.http.services.service03.loadbalancer.passivehealthcheck.failurewindow=42s"
- "traefik.http.services.service03.loadbalancer.passivehealthcheck.maxfailedattempts=42" - "ingress.http.services.service03.loadbalancer.passivehealthcheck.maxfailedattempts=42"
- "traefik.http.services.service03.loadbalancer.responseforwarding.flushinterval=42s" - "ingress.http.services.service03.loadbalancer.responseforwarding.flushinterval=42s"
- "traefik.http.services.service03.loadbalancer.serverstransport=foobar" - "ingress.http.services.service03.loadbalancer.serverstransport=foobar"
- "traefik.http.services.service03.loadbalancer.sticky=true" - "ingress.http.services.service03.loadbalancer.sticky=true"
- "traefik.http.services.service03.loadbalancer.sticky.cookie=true" - "ingress.http.services.service03.loadbalancer.sticky.cookie=true"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.domain=foobar" - "ingress.http.services.service03.loadbalancer.sticky.cookie.domain=foobar"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.httponly=true" - "ingress.http.services.service03.loadbalancer.sticky.cookie.httponly=true"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.maxage=42" - "ingress.http.services.service03.loadbalancer.sticky.cookie.maxage=42"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.name=foobar" - "ingress.http.services.service03.loadbalancer.sticky.cookie.name=foobar"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.path=foobar" - "ingress.http.services.service03.loadbalancer.sticky.cookie.path=foobar"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.samesite=foobar" - "ingress.http.services.service03.loadbalancer.sticky.cookie.samesite=foobar"
- "traefik.http.services.service03.loadbalancer.sticky.cookie.secure=true" - "ingress.http.services.service03.loadbalancer.sticky.cookie.secure=true"
- "traefik.http.services.service03.loadbalancer.strategy=foobar" - "ingress.http.services.service03.loadbalancer.strategy=foobar"
- "traefik.http.services.service03.loadbalancer.server.port=foobar" - "ingress.http.services.service03.loadbalancer.server.port=foobar"
- "traefik.http.services.service03.loadbalancer.server.preservepath=true" - "ingress.http.services.service03.loadbalancer.server.preservepath=true"
- "traefik.http.services.service03.loadbalancer.server.scheme=foobar" - "ingress.http.services.service03.loadbalancer.server.scheme=foobar"
- "traefik.http.services.service03.loadbalancer.server.url=foobar" - "ingress.http.services.service03.loadbalancer.server.url=foobar"
- "traefik.http.services.service03.loadbalancer.server.weight=42" - "ingress.http.services.service03.loadbalancer.server.weight=42"
- "traefik.tcp.middlewares.tcpmiddleware01.ipallowlist.sourcerange=foobar, foobar" - "ingress.tcp.middlewares.tcpmiddleware01.ipallowlist.sourcerange=foobar, foobar"
- "traefik.tcp.middlewares.tcpmiddleware02.ipwhitelist.sourcerange=foobar, foobar" - "ingress.tcp.middlewares.tcpmiddleware02.ipwhitelist.sourcerange=foobar, foobar"
- "traefik.tcp.middlewares.tcpmiddleware03.inflightconn.amount=42" - "ingress.tcp.middlewares.tcpmiddleware03.inflightconn.amount=42"
- "traefik.tcp.routers.tcprouter0.entrypoints=foobar, foobar" - "ingress.tcp.routers.tcprouter0.entrypoints=foobar, foobar"
- "traefik.tcp.routers.tcprouter0.middlewares=foobar, foobar" - "ingress.tcp.routers.tcprouter0.middlewares=foobar, foobar"
- "traefik.tcp.routers.tcprouter0.priority=42" - "ingress.tcp.routers.tcprouter0.priority=42"
- "traefik.tcp.routers.tcprouter0.rule=foobar" - "ingress.tcp.routers.tcprouter0.rule=foobar"
- "traefik.tcp.routers.tcprouter0.rulesyntax=foobar" - "ingress.tcp.routers.tcprouter0.rulesyntax=foobar"
- "traefik.tcp.routers.tcprouter0.service=foobar" - "ingress.tcp.routers.tcprouter0.service=foobar"
- "traefik.tcp.routers.tcprouter0.tls=true" - "ingress.tcp.routers.tcprouter0.tls=true"
- "traefik.tcp.routers.tcprouter0.tls.certresolver=foobar" - "ingress.tcp.routers.tcprouter0.tls.certresolver=foobar"
- "traefik.tcp.routers.tcprouter0.tls.domains[0].main=foobar" - "ingress.tcp.routers.tcprouter0.tls.domains[0].main=foobar"
- "traefik.tcp.routers.tcprouter0.tls.domains[0].sans=foobar, foobar" - "ingress.tcp.routers.tcprouter0.tls.domains[0].sans=foobar, foobar"
- "traefik.tcp.routers.tcprouter0.tls.domains[1].main=foobar" - "ingress.tcp.routers.tcprouter0.tls.domains[1].main=foobar"
- "traefik.tcp.routers.tcprouter0.tls.domains[1].sans=foobar, foobar" - "ingress.tcp.routers.tcprouter0.tls.domains[1].sans=foobar, foobar"
- "traefik.tcp.routers.tcprouter0.tls.options=foobar" - "ingress.tcp.routers.tcprouter0.tls.options=foobar"
- "traefik.tcp.routers.tcprouter0.tls.passthrough=true" - "ingress.tcp.routers.tcprouter0.tls.passthrough=true"
- "traefik.tcp.routers.tcprouter1.entrypoints=foobar, foobar" - "ingress.tcp.routers.tcprouter1.entrypoints=foobar, foobar"
- "traefik.tcp.routers.tcprouter1.middlewares=foobar, foobar" - "ingress.tcp.routers.tcprouter1.middlewares=foobar, foobar"
- "traefik.tcp.routers.tcprouter1.priority=42" - "ingress.tcp.routers.tcprouter1.priority=42"
- "traefik.tcp.routers.tcprouter1.rule=foobar" - "ingress.tcp.routers.tcprouter1.rule=foobar"
- "traefik.tcp.routers.tcprouter1.rulesyntax=foobar" - "ingress.tcp.routers.tcprouter1.rulesyntax=foobar"
- "traefik.tcp.routers.tcprouter1.service=foobar" - "ingress.tcp.routers.tcprouter1.service=foobar"
- "traefik.tcp.routers.tcprouter1.tls=true" - "ingress.tcp.routers.tcprouter1.tls=true"
- "traefik.tcp.routers.tcprouter1.tls.certresolver=foobar" - "ingress.tcp.routers.tcprouter1.tls.certresolver=foobar"
- "traefik.tcp.routers.tcprouter1.tls.domains[0].main=foobar" - "ingress.tcp.routers.tcprouter1.tls.domains[0].main=foobar"
- "traefik.tcp.routers.tcprouter1.tls.domains[0].sans=foobar, foobar" - "ingress.tcp.routers.tcprouter1.tls.domains[0].sans=foobar, foobar"
- "traefik.tcp.routers.tcprouter1.tls.domains[1].main=foobar" - "ingress.tcp.routers.tcprouter1.tls.domains[1].main=foobar"
- "traefik.tcp.routers.tcprouter1.tls.domains[1].sans=foobar, foobar" - "ingress.tcp.routers.tcprouter1.tls.domains[1].sans=foobar, foobar"
- "traefik.tcp.routers.tcprouter1.tls.options=foobar" - "ingress.tcp.routers.tcprouter1.tls.options=foobar"
- "traefik.tcp.routers.tcprouter1.tls.passthrough=true" - "ingress.tcp.routers.tcprouter1.tls.passthrough=true"
- "traefik.tcp.services.tcpservice01.loadbalancer.proxyprotocol=true" - "ingress.tcp.services.tcpservice01.loadbalancer.proxyprotocol=true"
- "traefik.tcp.services.tcpservice01.loadbalancer.proxyprotocol.version=42" - "ingress.tcp.services.tcpservice01.loadbalancer.proxyprotocol.version=42"
- "traefik.tcp.services.tcpservice01.loadbalancer.serverstransport=foobar" - "ingress.tcp.services.tcpservice01.loadbalancer.serverstransport=foobar"
- "traefik.tcp.services.tcpservice01.loadbalancer.terminationdelay=42" - "ingress.tcp.services.tcpservice01.loadbalancer.terminationdelay=42"
- "traefik.tcp.services.tcpservice01.loadbalancer.server.port=foobar" - "ingress.tcp.services.tcpservice01.loadbalancer.server.port=foobar"
- "traefik.tcp.services.tcpservice01.loadbalancer.server.tls=true" - "ingress.tcp.services.tcpservice01.loadbalancer.server.tls=true"
- "traefik.tls.stores.store0.defaultgeneratedcert.domain.main=foobar" - "ingress.tls.stores.store0.defaultgeneratedcert.domain.main=foobar"
- "traefik.tls.stores.store0.defaultgeneratedcert.domain.sans=foobar, foobar" - "ingress.tls.stores.store0.defaultgeneratedcert.domain.sans=foobar, foobar"
- "traefik.tls.stores.store0.defaultgeneratedcert.resolver=foobar" - "ingress.tls.stores.store0.defaultgeneratedcert.resolver=foobar"
- "traefik.tls.stores.store1.defaultgeneratedcert.domain.main=foobar" - "ingress.tls.stores.store1.defaultgeneratedcert.domain.main=foobar"
- "traefik.tls.stores.store1.defaultgeneratedcert.domain.sans=foobar, foobar" - "ingress.tls.stores.store1.defaultgeneratedcert.domain.sans=foobar, foobar"
- "traefik.tls.stores.store1.defaultgeneratedcert.resolver=foobar" - "ingress.tls.stores.store1.defaultgeneratedcert.resolver=foobar"
- "traefik.udp.routers.udprouter0.entrypoints=foobar, foobar" - "ingress.udp.routers.udprouter0.entrypoints=foobar, foobar"
- "traefik.udp.routers.udprouter0.service=foobar" - "ingress.udp.routers.udprouter0.service=foobar"
- "traefik.udp.routers.udprouter1.entrypoints=foobar, foobar" - "ingress.udp.routers.udprouter1.entrypoints=foobar, foobar"
- "traefik.udp.routers.udprouter1.service=foobar" - "ingress.udp.routers.udprouter1.service=foobar"
- "traefik.udp.services.udpservice01.loadbalancer.server.port=foobar" - "ingress.udp.services.udpservice01.loadbalancer.server.port=foobar"
@@ -3,9 +3,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressroutes.traefik.io name: ingressroutes.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRoute kind: IngressRoute
listKind: IngressRouteList listKind: IngressRouteList
@@ -42,7 +42,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -55,7 +55,7 @@ spec:
description: |- description: |-
ParentRefs defines references to parent IngressRoute resources for multi-layer routing. ParentRefs defines references to parent IngressRoute resources for multi-layer routing.
When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers. When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers.
More info: https://doc.traefik.io/traefik/v3.6/routing/routers/#parentrefs More info: https://doc.hanzo.ai/traefik/v3.6/routing/routers/#parentrefs
items: items:
description: IngressRouteRef is a reference to an IngressRoute resource. description: IngressRouteRef is a reference to an IngressRoute resource.
properties: properties:
@@ -87,12 +87,12 @@ spec:
match: match:
description: |- description: |-
Match defines the router's rule. Match defines the router's rule.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/
type: string type: string
middlewares: middlewares:
description: |- description: |-
Middlewares defines the list of references to Middleware resources. Middlewares defines the list of references to Middleware resources.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/
items: items:
description: MiddlewareRef is a reference to a Middleware description: MiddlewareRef is a reference to a Middleware
resource. resource.
@@ -112,7 +112,7 @@ spec:
observability: observability:
description: |- description: |-
Observability defines the observability configuration for a router. Observability defines the observability configuration for a router.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/observability/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/observability/
properties: properties:
accessLogs: accessLogs:
description: AccessLogs enables access logs for this router. description: AccessLogs enables access logs for this router.
@@ -135,13 +135,13 @@ spec:
priority: priority:
description: |- description: |-
Priority defines the router's priority. Priority defines the router's priority.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum: 9223372036854775000 maximum: 9223372036854775000
type: integer type: integer
services: services:
description: |- description: |-
Services defines the list of Service. Services defines the list of Service.
It can contain any combination of TraefikService and/or reference to a Kubernetes Service. It can contain any combination of IngressService and/or reference to a Kubernetes Service.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -220,7 +220,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -243,12 +243,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -324,7 +324,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -384,7 +384,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -395,7 +395,7 @@ spec:
syntax: syntax:
description: |- description: |-
Syntax defines the router's rule syntax. Syntax defines the router's rule syntax.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
type: string type: string
@@ -406,18 +406,18 @@ spec:
tls: tls:
description: |- description: |-
TLS defines the TLS configuration. TLS defines the TLS configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls
properties: properties:
certResolver: certResolver:
description: |- description: |-
CertResolver defines the name of the certificate resolver to use. CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration. Cert resolvers have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/
type: string type: string
domains: domains:
description: |- description: |-
Domains defines the list of domains that will be used to issue certificates. Domains defines the list of domains that will be used to issue certificates.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains
items: items:
description: Domain holds a domain name with SANs. description: Domain holds a domain name with SANs.
properties: properties:
@@ -436,17 +436,17 @@ spec:
description: |- description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used. If not defined, the `default` TLSOption is used.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/
properties: properties:
name: name:
description: |- description: |-
Name defines the name of the referenced TLSOption. Name defines the name of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string type: string
namespace: namespace:
description: |- description: |-
Namespace defines the namespace of the referenced TLSOption. Namespace defines the namespace of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string type: string
required: required:
- name - name
@@ -463,12 +463,12 @@ spec:
name: name:
description: |- description: |-
Name defines the name of the referenced TLSStore. Name defines the name of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string type: string
namespace: namespace:
description: |- description: |-
Namespace defines the namespace of the referenced TLSStore. Namespace defines the namespace of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string type: string
required: required:
- name - name
@@ -489,9 +489,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressroutetcps.traefik.io name: ingressroutetcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRouteTCP kind: IngressRouteTCP
listKind: IngressRouteTCPList listKind: IngressRouteTCPList
@@ -528,7 +528,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -545,7 +545,7 @@ spec:
match: match:
description: |- description: |-
Match defines the router's rule. Match defines the router's rule.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references to MiddlewareTCP description: Middlewares defines the list of references to MiddlewareTCP
@@ -569,7 +569,7 @@ spec:
priority: priority:
description: |- description: |-
Priority defines the router's priority. Priority defines the router's priority.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
maximum: 9223372036854775000 maximum: 9223372036854775000
type: integer type: integer
services: services:
@@ -611,7 +611,7 @@ spec:
proxyProtocol: proxyProtocol:
description: |- description: |-
ProxyProtocol defines the PROXY protocol configuration. ProxyProtocol defines the PROXY protocol configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol
Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead. Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
properties: properties:
@@ -655,7 +655,7 @@ spec:
syntax: syntax:
description: |- description: |-
Syntax defines the router's rule syntax. Syntax defines the router's rule syntax.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
enum: enum:
@@ -669,18 +669,18 @@ spec:
tls: tls:
description: |- description: |-
TLS defines the TLS configuration on a layer 4 / TCP Route. TLS defines the TLS configuration on a layer 4 / TCP Route.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls
properties: properties:
certResolver: certResolver:
description: |- description: |-
CertResolver defines the name of the certificate resolver to use. CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration. Cert resolvers have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/
type: string type: string
domains: domains:
description: |- description: |-
Domains defines the list of domains that will be used to issue certificates. Domains defines the list of domains that will be used to issue certificates.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains
items: items:
description: Domain holds a domain name with SANs. description: Domain holds a domain name with SANs.
properties: properties:
@@ -699,7 +699,7 @@ spec:
description: |- description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used. If not defined, the `default` TLSOption is used.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options
properties: properties:
name: name:
description: Name defines the name of the referenced Traefik description: Name defines the name of the referenced Traefik
@@ -752,9 +752,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressrouteudps.traefik.io name: ingressrouteudps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRouteUDP kind: IngressRouteUDP
listKind: IngressRouteUDPList listKind: IngressRouteUDPList
@@ -791,7 +791,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -868,9 +868,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: middlewares.traefik.io name: middlewares.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: Middleware kind: Middleware
listKind: MiddlewareList listKind: MiddlewareList
@@ -883,7 +883,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
Middleware is the CRD implementation of a Traefik Middleware. Middleware is the CRD implementation of a Traefik Middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -909,7 +909,7 @@ spec:
description: |- description: |-
AddPrefix holds the add prefix middleware configuration. AddPrefix holds the add prefix middleware configuration.
This middleware updates the path of a request before forwarding it. This middleware updates the path of a request before forwarding it.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/addprefix/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/addprefix/
properties: properties:
prefix: prefix:
description: |- description: |-
@@ -924,17 +924,17 @@ spec:
description: |- description: |-
BasicAuth holds the basic auth middleware configuration. BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users. This middleware restricts access to your services to known users.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/
properties: properties:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield
type: string type: string
realm: realm:
description: |- description: |-
Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
Default: traefik. Default: ingress.
type: string type: string
removeHeader: removeHeader:
description: |- description: |-
@@ -950,7 +950,7 @@ spec:
description: |- description: |-
Buffering holds the buffering middleware configuration. Buffering holds the buffering middleware configuration.
This middleware retries or limits the size of requests that can be forwarded to backends. This middleware retries or limits the size of requests that can be forwarded to backends.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes
properties: properties:
maxRequestBodyBytes: maxRequestBodyBytes:
description: |- description: |-
@@ -982,14 +982,14 @@ spec:
description: |- description: |-
RetryExpression defines the retry conditions. RetryExpression defines the retry conditions.
It is a logical combination of functions with operators AND (&&) and OR (||). It is a logical combination of functions with operators AND (&&) and OR (||).
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#retryexpression More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/buffering/#retryexpression
type: string type: string
type: object type: object
chain: chain:
description: |- description: |-
Chain holds the configuration of the chain middleware. Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other pieces of middleware. This middleware enables to define reusable combinations of other pieces of middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/
properties: properties:
middlewares: middlewares:
description: Middlewares is the list of MiddlewareRef which composes description: Middlewares is the list of MiddlewareRef which composes
@@ -1052,7 +1052,7 @@ spec:
description: |- description: |-
Compress holds the compress middleware configuration. Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression. This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/
properties: properties:
defaultEncoding: defaultEncoding:
description: DefaultEncoding specifies the default encoding if description: DefaultEncoding specifies the default encoding if
@@ -1103,17 +1103,17 @@ spec:
description: |- description: |-
DigestAuth holds the digest auth middleware configuration. DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users. This middleware restricts access to your services to known users.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/
properties: properties:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield
type: string type: string
realm: realm:
description: |- description: |-
Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
Default: traefik. Default: ingress.
type: string type: string
removeHeader: removeHeader:
description: RemoveHeader defines whether to remove the authorization description: RemoveHeader defines whether to remove the authorization
@@ -1161,7 +1161,7 @@ spec:
description: |- description: |-
ErrorPage holds the custom error middleware configuration. ErrorPage holds the custom error middleware configuration.
This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/
properties: properties:
query: query:
description: |- description: |-
@@ -1173,7 +1173,7 @@ spec:
service: service:
description: |- description: |-
Service defines the reference to a Kubernetes Service that will serve the error page. Service defines the reference to a Kubernetes Service that will serve the error page.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service
properties: properties:
healthCheck: healthCheck:
description: Healthcheck defines health checks for ExternalName description: Healthcheck defines health checks for ExternalName
@@ -1249,7 +1249,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references to description: Middlewares defines the list of references to
@@ -1272,12 +1272,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -1353,7 +1353,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -1412,7 +1412,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -1442,7 +1442,7 @@ spec:
description: |- description: |-
ForwardAuth holds the forward auth middleware configuration. ForwardAuth holds the forward auth middleware configuration.
This middleware delegates the request authentication to a Service. This middleware delegates the request authentication to a Service.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/
properties: properties:
addAuthCookiesToResponse: addAuthCookiesToResponse:
description: AddAuthCookiesToResponse defines the list of cookies description: AddAuthCookiesToResponse defines the list of cookies
@@ -1470,7 +1470,7 @@ spec:
authResponseHeadersRegex: authResponseHeadersRegex:
description: |- description: |-
AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex. AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
type: string type: string
authSigninURL: authSigninURL:
description: AuthSigninURL specifies the URL to redirect to when description: AuthSigninURL specifies the URL to redirect to when
@@ -1483,7 +1483,7 @@ spec:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
type: string type: string
maxBodySize: maxBodySize:
description: MaxBodySize defines the maximum body size in bytes description: MaxBodySize defines the maximum body size in bytes
@@ -1550,7 +1550,7 @@ spec:
description: |- description: |-
Headers holds the headers middleware configuration. Headers holds the headers middleware configuration.
This middleware manages the requests and responses headers. This middleware manages the requests and responses headers.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/headers/#customrequestheaders More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/headers/#customrequestheaders
properties: properties:
accessControlAllowCredentials: accessControlAllowCredentials:
description: AccessControlAllowCredentials defines whether the description: AccessControlAllowCredentials defines whether the
@@ -1722,7 +1722,7 @@ spec:
description: |- description: |-
InFlightReq holds the in-flight request middleware configuration. InFlightReq holds the in-flight request middleware configuration.
This middleware limits the number of requests being processed and served concurrently. This middleware limits the number of requests being processed and served concurrently.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/inflightreq/
properties: properties:
amount: amount:
description: |- description: |-
@@ -1736,12 +1736,12 @@ spec:
SourceCriterion defines what criterion is used to group requests as originating from a common source. SourceCriterion defines what criterion is used to group requests as originating from a common source.
If several strategies are defined at the same time, an error will be raised. If several strategies are defined at the same time, an error will be raised.
If none are set, the default is to use the requestHost. If none are set, the default is to use the requestHost.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion
properties: properties:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -1777,12 +1777,12 @@ spec:
description: |- description: |-
IPAllowList holds the IP allowlist middleware configuration. IPAllowList holds the IP allowlist middleware configuration.
This middleware limits allowed requests based on the client IP. This middleware limits allowed requests based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/
properties: properties:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -1820,7 +1820,7 @@ spec:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -1851,7 +1851,7 @@ spec:
description: |- description: |-
PassTLSClientCert holds the pass TLS client cert middleware configuration. PassTLSClientCert holds the pass TLS client cert middleware configuration.
This middleware adds the selected data from the passed client TLS certificate to a header. This middleware adds the selected data from the passed client TLS certificate to a header.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/passtlsclientcert/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/passtlsclientcert/
properties: properties:
info: info:
description: Info selects the specific client certificate details description: Info selects the specific client certificate details
@@ -1954,13 +1954,13 @@ spec:
x-kubernetes-preserve-unknown-fields: true x-kubernetes-preserve-unknown-fields: true
description: |- description: |-
Plugin defines the middleware plugin configuration. Plugin defines the middleware plugin configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares
type: object type: object
rateLimit: rateLimit:
description: |- description: |-
RateLimit holds the rate limit configuration. RateLimit holds the rate limit configuration.
This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is. This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/
properties: properties:
average: average:
description: |- description: |-
@@ -2079,7 +2079,7 @@ spec:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -2115,7 +2115,7 @@ spec:
description: |- description: |-
RedirectRegex holds the redirect regex middleware configuration. RedirectRegex holds the redirect regex middleware configuration.
This middleware redirects a request using regex matching and replacement. This middleware redirects a request using regex matching and replacement.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectregex/#regex More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/redirectregex/#regex
properties: properties:
permanent: permanent:
description: Permanent defines whether the redirection is permanent description: Permanent defines whether the redirection is permanent
@@ -2134,7 +2134,7 @@ spec:
description: |- description: |-
RedirectScheme holds the redirect scheme middleware configuration. RedirectScheme holds the redirect scheme middleware configuration.
This middleware redirects requests from a scheme/port to another. This middleware redirects requests from a scheme/port to another.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectscheme/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/redirectscheme/
properties: properties:
permanent: permanent:
description: |- description: |-
@@ -2152,7 +2152,7 @@ spec:
description: |- description: |-
ReplacePath holds the replace path middleware configuration. ReplacePath holds the replace path middleware configuration.
This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepath/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/replacepath/
properties: properties:
path: path:
description: Path defines the path to use as replacement in the description: Path defines the path to use as replacement in the
@@ -2163,7 +2163,7 @@ spec:
description: |- description: |-
ReplacePathRegex holds the replace path regex middleware configuration. ReplacePathRegex holds the replace path regex middleware configuration.
This middleware replaces the path of a URL using regex matching and replacement. This middleware replaces the path of a URL using regex matching and replacement.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepathregex/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/replacepathregex/
properties: properties:
regex: regex:
description: Regex defines the regular expression used to match description: Regex defines the regular expression used to match
@@ -2179,7 +2179,7 @@ spec:
Retry holds the retry middleware configuration. Retry holds the retry middleware configuration.
This middleware reissues requests a given number of times to a backend server if that server does not reply. This middleware reissues requests a given number of times to a backend server if that server does not reply.
As soon as the server answers, the middleware stops retrying, regardless of the response status. As soon as the server answers, the middleware stops retrying, regardless of the response status.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/
properties: properties:
attempts: attempts:
description: Attempts defines how many times the request should description: Attempts defines how many times the request should
@@ -2236,7 +2236,7 @@ spec:
description: |- description: |-
StripPrefix holds the strip prefix middleware configuration. StripPrefix holds the strip prefix middleware configuration.
This middleware removes the specified prefixes from the URL path. This middleware removes the specified prefixes from the URL path.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefix/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/stripprefix/
properties: properties:
forceSlash: forceSlash:
description: |- description: |-
@@ -2255,7 +2255,7 @@ spec:
description: |- description: |-
StripPrefixRegex holds the strip prefix regex middleware configuration. StripPrefixRegex holds the strip prefix regex middleware configuration.
This middleware removes the matching prefixes from the URL path. This middleware removes the matching prefixes from the URL path.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefixregex/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/stripprefixregex/
properties: properties:
regex: regex:
description: Regex defines the regular expression to match the description: Regex defines the regular expression to match the
@@ -2277,9 +2277,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: middlewaretcps.traefik.io name: middlewaretcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: MiddlewareTCP kind: MiddlewareTCP
listKind: MiddlewareTCPList listKind: MiddlewareTCPList
@@ -2292,7 +2292,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2329,7 +2329,7 @@ spec:
description: |- description: |-
IPAllowList defines the IPAllowList middleware configuration. IPAllowList defines the IPAllowList middleware configuration.
This middleware accepts/refuses connections based on the client IP. This middleware accepts/refuses connections based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/
properties: properties:
sourceRange: sourceRange:
description: SourceRange defines the allowed IPs (or ranges of description: SourceRange defines the allowed IPs (or ranges of
@@ -2342,7 +2342,7 @@ spec:
description: |- description: |-
IPWhiteList defines the IPWhiteList middleware configuration. IPWhiteList defines the IPWhiteList middleware configuration.
This middleware accepts/refuses connections based on the client IP. This middleware accepts/refuses connections based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/
Deprecated: please use IPAllowList instead. Deprecated: please use IPAllowList instead.
properties: properties:
@@ -2366,9 +2366,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: serverstransports.traefik.io name: serverstransports.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: ServersTransport kind: ServersTransport
listKind: ServersTransportList listKind: ServersTransportList
@@ -2383,7 +2383,7 @@ spec:
ServersTransport is the CRD implementation of a ServersTransport. ServersTransport is the CRD implementation of a ServersTransport.
If no serversTransport is specified, the default@internal will be used. If no serversTransport is specified, the default@internal will be used.
The default@internal serversTransport is created from the static configuration. The default@internal serversTransport is created from the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2550,9 +2550,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: serverstransporttcps.traefik.io name: serverstransporttcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: ServersTransportTCP kind: ServersTransportTCP
listKind: ServersTransportTCPList listKind: ServersTransportTCPList
@@ -2567,7 +2567,7 @@ spec:
ServersTransportTCP is the CRD implementation of a TCPServersTransport. ServersTransportTCP is the CRD implementation of a TCPServersTransport.
If no tcpServersTransport is specified, a default one named default@internal will be used. If no tcpServersTransport is specified, a default one named default@internal will be used.
The default@internal tcpServersTransport can be configured in the static configuration. The default@internal tcpServersTransport can be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2707,9 +2707,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: tlsoptions.traefik.io name: tlsoptions.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TLSOption kind: TLSOption
listKind: TLSOptionList listKind: TLSOptionList
@@ -2722,7 +2722,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2747,14 +2747,14 @@ spec:
alpnProtocols: alpnProtocols:
description: |- description: |-
ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
items: items:
type: string type: string
type: array type: array
cipherSuites: cipherSuites:
description: |- description: |-
CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
items: items:
type: string type: string
type: array type: array
@@ -2782,7 +2782,7 @@ spec:
curvePreferences: curvePreferences:
description: |- description: |-
CurvePreferences defines the preferred elliptic curves. CurvePreferences defines the preferred elliptic curves.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
items: items:
type: string type: string
type: array type: array
@@ -2826,9 +2826,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: tlsstores.traefik.io name: tlsstores.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TLSStore kind: TLSStore
listKind: TLSStoreList listKind: TLSStoreList
@@ -2843,7 +2843,7 @@ spec:
TLSStore is the CRD implementation of a Traefik TLS Store. TLSStore is the CRD implementation of a Traefik TLS Store.
For the time being, only the TLSStore named default is supported. For the time being, only the TLSStore named default is supported.
This means that you cannot have two stores that are named default in different Kubernetes namespaces. This means that you cannot have two stores that are named default in different Kubernetes namespaces.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2923,25 +2923,25 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: traefikservices.traefik.io name: ingressservices.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TraefikService kind: IngressService
listKind: TraefikServiceList listKind: IngressServiceList
plural: traefikservices plural: ingressservices
singular: traefikservice singular: ingressservice
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
TraefikService is the CRD implementation of a Traefik Service. IngressService is the CRD implementation of a Traefik Service.
TraefikService object allows to: IngressService object allows to:
- Apply weight to Services on load-balancing - Apply weight to Services on load-balancing
- Mirror traffic on services - Mirror traffic on services
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/ingressservice/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -2961,7 +2961,7 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: TraefikServiceSpec defines the desired state of a TraefikService. description: IngressServiceSpec defines the desired state of a IngressService.
properties: properties:
highestRandomWeight: highestRandomWeight:
description: HighestRandomWeight defines the highest random weight description: HighestRandomWeight defines the highest random weight
@@ -2969,7 +2969,7 @@ spec:
properties: properties:
services: services:
description: Services defines the list of Kubernetes Service and/or description: Services defines the list of Kubernetes Service and/or
TraefikService to load-balance, with weight. IngressService to load-balance, with weight.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -3048,7 +3048,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -3071,12 +3071,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -3152,7 +3152,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -3211,7 +3211,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -3297,7 +3297,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
maxBodySize: maxBodySize:
description: |- description: |-
@@ -3409,7 +3409,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -3432,12 +3432,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -3518,7 +3518,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -3577,7 +3577,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -3587,12 +3587,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -3667,7 +3667,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -3725,7 +3725,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -3737,7 +3737,7 @@ spec:
properties: properties:
services: services:
description: Services defines the list of Kubernetes Service and/or description: Services defines the list of Kubernetes Service and/or
TraefikService to load-balance, with weight. IngressService to load-balance, with weight.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -3816,7 +3816,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -3839,12 +3839,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -3920,7 +3920,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -3979,7 +3979,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -3990,7 +3990,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines whether sticky sessions are enabled. Sticky defines whether sticky sessions are enabled.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/ingressservice/#stickiness-and-load-balancing
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -48,12 +48,12 @@ rules:
verbs: verbs:
- update - update
- apiGroups: - apiGroups:
- traefik.io - hanzo.ai
resources: resources:
- middlewares - middlewares
- middlewaretcps - middlewaretcps
- ingressroutes - ingressroutes
- traefikservices - ingressservices
- ingressroutetcps - ingressroutetcps
- ingressrouteudps - ingressrouteudps
- tlsoptions - tlsoptions
@@ -1,5 +1,5 @@
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: wrr2 name: wrr2
namespace: default namespace: default
@@ -17,8 +17,8 @@ spec:
port: 80 port: 80
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: wrr1 name: wrr1
namespace: default namespace: default
@@ -27,15 +27,15 @@ spec:
weighted: weighted:
services: services:
- name: wrr2 - name: wrr2
kind: TraefikService kind: IngressService
weight: 1 weight: 1
- name: s3 - name: s3
weight: 1 weight: 1
port: 80 port: 80
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: mirror1 name: mirror1
namespace: default namespace: default
@@ -49,12 +49,12 @@ spec:
percent: 20 percent: 20
port: 80 port: 80
- name: mirror2 - name: mirror2
kind: TraefikService kind: IngressService
percent: 20 percent: 20
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TraefikService kind: IngressService
metadata: metadata:
name: mirror2 name: mirror2
namespace: default namespace: default
@@ -62,7 +62,7 @@ metadata:
spec: spec:
mirroring: mirroring:
name: wrr2 name: wrr2
kind: TraefikService kind: IngressService
mirrorBody: true mirrorBody: true
# Optional # Optional
maxBodySize: 2000000000 maxBodySize: 2000000000
@@ -74,7 +74,7 @@ spec:
port: 80 port: 80
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: ingressroute name: ingressroute
@@ -120,12 +120,12 @@ spec:
kind: Rule kind: Rule
services: services:
- name: wrr1 - name: wrr1
kind: TraefikService kind: IngressService
- match: PathPrefix(`/mirrored`) - match: PathPrefix(`/mirrored`)
kind: Rule kind: Rule
services: services:
- name: mirror1 - name: mirror1
kind: TraefikService kind: IngressService
# use an empty tls object for TLS with Let's Encrypt # use an empty tls object for TLS with Let's Encrypt
tls: tls:
secretName: supersecret secretName: supersecret
@@ -134,7 +134,7 @@ spec:
namespace: default namespace: default
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRouteTCP kind: IngressRouteTCP
metadata: metadata:
name: ingressroutetcp.crd name: ingressroutetcp.crd
@@ -159,7 +159,7 @@ spec:
namespace: default namespace: default
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRouteUDP kind: IngressRouteUDP
metadata: metadata:
name: ingressrouteudp.crd name: ingressrouteudp.crd
@@ -174,7 +174,7 @@ spec:
port: 8080 port: 8080
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: TLSOption kind: TLSOption
metadata: metadata:
name: tlsoption name: tlsoption
@@ -200,7 +200,7 @@ spec:
- foobar - foobar
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: ServersTransport kind: ServersTransport
metadata: metadata:
name: mytransport name: mytransport
@@ -224,7 +224,7 @@ spec:
disableHTTP2: true disableHTTP2: true
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: ServersTransportTCP kind: ServersTransportTCP
metadata: metadata:
name: mytransporttcp name: mytransporttcp
@@ -3,7 +3,7 @@ kind: GatewayClass
metadata: metadata:
name: my-gateway-class name: my-gateway-class
spec: spec:
controllerName: traefik.io/gateway-controller controllerName: hanzo.ai/gateway-controller
--- ---
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
@@ -73,8 +73,8 @@ spec:
value: /foo value: /foo
backendRefs: backendRefs:
- group: traefik.io - group: hanzo.ai
kind: TraefikService kind: IngressService
name: myservice@file name: myservice@file
weight: 1 weight: 1
port: 80 port: 80
@@ -4,7 +4,7 @@ metadata:
name: my-gateway-class name: my-gateway-class
spec: spec:
controllerName: traefik.io/gateway-controller controllerName: hanzo.ai/gateway-controller
--- ---
apiVersion: gateway.networking.k8s.io/v1 apiVersion: gateway.networking.k8s.io/v1
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressroutes.traefik.io name: ingressroutes.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRoute kind: IngressRoute
listKind: IngressRouteList listKind: IngressRouteList
@@ -43,7 +43,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -56,7 +56,7 @@ spec:
description: |- description: |-
ParentRefs defines references to parent IngressRoute resources for multi-layer routing. ParentRefs defines references to parent IngressRoute resources for multi-layer routing.
When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers. When set, this IngressRoute's routers will be children of the referenced parent IngressRoute's routers.
More info: https://doc.traefik.io/traefik/v3.6/routing/routers/#parentrefs More info: https://doc.hanzo.ai/traefik/v3.6/routing/routers/#parentrefs
items: items:
description: IngressRouteRef is a reference to an IngressRoute resource. description: IngressRouteRef is a reference to an IngressRoute resource.
properties: properties:
@@ -88,12 +88,12 @@ spec:
match: match:
description: |- description: |-
Match defines the router's rule. Match defines the router's rule.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/
type: string type: string
middlewares: middlewares:
description: |- description: |-
Middlewares defines the list of references to Middleware resources. Middlewares defines the list of references to Middleware resources.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/middleware/
items: items:
description: MiddlewareRef is a reference to a Middleware description: MiddlewareRef is a reference to a Middleware
resource. resource.
@@ -113,7 +113,7 @@ spec:
observability: observability:
description: |- description: |-
Observability defines the observability configuration for a router. Observability defines the observability configuration for a router.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/observability/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/observability/
properties: properties:
accessLogs: accessLogs:
description: AccessLogs enables access logs for this router. description: AccessLogs enables access logs for this router.
@@ -136,13 +136,13 @@ spec:
priority: priority:
description: |- description: |-
Priority defines the router's priority. Priority defines the router's priority.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#priority
maximum: 9223372036854775000 maximum: 9223372036854775000
type: integer type: integer
services: services:
description: |- description: |-
Services defines the list of Service. Services defines the list of Service.
It can contain any combination of TraefikService and/or reference to a Kubernetes Service. It can contain any combination of IngressService and/or reference to a Kubernetes Service.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -221,7 +221,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -244,12 +244,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -325,7 +325,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -385,7 +385,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -396,7 +396,7 @@ spec:
syntax: syntax:
description: |- description: |-
Syntax defines the router's rule syntax. Syntax defines the router's rule syntax.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
type: string type: string
@@ -407,18 +407,18 @@ spec:
tls: tls:
description: |- description: |-
TLS defines the TLS configuration. TLS defines the TLS configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/routing/router/#tls
properties: properties:
certResolver: certResolver:
description: |- description: |-
CertResolver defines the name of the certificate resolver to use. CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration. Cert resolvers have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/
type: string type: string
domains: domains:
description: |- description: |-
Domains defines the list of domains that will be used to issue certificates. Domains defines the list of domains that will be used to issue certificates.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#domains
items: items:
description: Domain holds a domain name with SANs. description: Domain holds a domain name with SANs.
properties: properties:
@@ -437,17 +437,17 @@ spec:
description: |- description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used. If not defined, the `default` TLSOption is used.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-options/
properties: properties:
name: name:
description: |- description: |-
Name defines the name of the referenced TLSOption. Name defines the name of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string type: string
namespace: namespace:
description: |- description: |-
Namespace defines the namespace of the referenced TLSOption. Namespace defines the namespace of the referenced TLSOption.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsoption/
type: string type: string
required: required:
- name - name
@@ -464,12 +464,12 @@ spec:
name: name:
description: |- description: |-
Name defines the name of the referenced TLSStore. Name defines the name of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string type: string
namespace: namespace:
description: |- description: |-
Namespace defines the namespace of the referenced TLSStore. Namespace defines the namespace of the referenced TLSStore.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/tlsstore/
type: string type: string
required: required:
- name - name
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressroutetcps.traefik.io name: ingressroutetcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRouteTCP kind: IngressRouteTCP
listKind: IngressRouteTCPList listKind: IngressRouteTCPList
@@ -43,7 +43,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -60,7 +60,7 @@ spec:
match: match:
description: |- description: |-
Match defines the router's rule. Match defines the router's rule.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references to MiddlewareTCP description: Middlewares defines the list of references to MiddlewareTCP
@@ -84,7 +84,7 @@ spec:
priority: priority:
description: |- description: |-
Priority defines the router's priority. Priority defines the router's priority.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#priority
maximum: 9223372036854775000 maximum: 9223372036854775000
type: integer type: integer
services: services:
@@ -126,7 +126,7 @@ spec:
proxyProtocol: proxyProtocol:
description: |- description: |-
ProxyProtocol defines the PROXY protocol configuration. ProxyProtocol defines the PROXY protocol configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/service/#proxy-protocol
Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead. Deprecated: ProxyProtocol will not be supported in future APIVersions, please use ServersTransport to configure ProxyProtocol instead.
properties: properties:
@@ -170,7 +170,7 @@ spec:
syntax: syntax:
description: |- description: |-
Syntax defines the router's rule syntax. Syntax defines the router's rule syntax.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/rules-and-priority/#rulesyntax
Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax. Deprecated: Please do not use this field and rewrite the router rules to use the v3 syntax.
enum: enum:
@@ -184,18 +184,18 @@ spec:
tls: tls:
description: |- description: |-
TLS defines the TLS configuration on a layer 4 / TCP Route. TLS defines the TLS configuration on a layer 4 / TCP Route.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/routing/router/#tls
properties: properties:
certResolver: certResolver:
description: |- description: |-
CertResolver defines the name of the certificate resolver to use. CertResolver defines the name of the certificate resolver to use.
Cert resolvers have to be configured in the static configuration. Cert resolvers have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/tls/certificate-resolvers/acme/
type: string type: string
domains: domains:
description: |- description: |-
Domains defines the list of domains that will be used to issue certificates. Domains defines the list of domains that will be used to issue certificates.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/tls/#domains
items: items:
description: Domain holds a domain name with SANs. description: Domain holds a domain name with SANs.
properties: properties:
@@ -214,7 +214,7 @@ spec:
description: |- description: |-
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection. Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
If not defined, the `default` TLSOption is used. If not defined, the `default` TLSOption is used.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/tls/#tls-options
properties: properties:
name: name:
description: Name defines the name of the referenced Traefik description: Name defines the name of the referenced Traefik
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: ingressrouteudps.traefik.io name: ingressrouteudps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: IngressRouteUDP kind: IngressRouteUDP
listKind: IngressRouteUDPList listKind: IngressRouteUDPList
@@ -43,7 +43,7 @@ spec:
description: |- description: |-
EntryPoints defines the list of entry point names to bind to. EntryPoints defines the list of entry point names to bind to.
Entry points have to be configured in the static configuration. Entry points have to be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/install-configuration/entrypoints/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/install-configuration/entrypoints/
Default: all. Default: all.
items: items:
type: string type: string
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: middlewares.traefik.io name: middlewares.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: Middleware kind: Middleware
listKind: MiddlewareList listKind: MiddlewareList
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
Middleware is the CRD implementation of a Traefik Middleware. Middleware is the CRD implementation of a Traefik Middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -45,7 +45,7 @@ spec:
description: |- description: |-
AddPrefix holds the add prefix middleware configuration. AddPrefix holds the add prefix middleware configuration.
This middleware updates the path of a request before forwarding it. This middleware updates the path of a request before forwarding it.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/addprefix/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/addprefix/
properties: properties:
prefix: prefix:
description: |- description: |-
@@ -60,17 +60,17 @@ spec:
description: |- description: |-
BasicAuth holds the basic auth middleware configuration. BasicAuth holds the basic auth middleware configuration.
This middleware restricts access to your services to known users. This middleware restricts access to your services to known users.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/
properties: properties:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/basicauth/#headerfield
type: string type: string
realm: realm:
description: |- description: |-
Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
Default: traefik. Default: ingress.
type: string type: string
removeHeader: removeHeader:
description: |- description: |-
@@ -86,7 +86,7 @@ spec:
description: |- description: |-
Buffering holds the buffering middleware configuration. Buffering holds the buffering middleware configuration.
This middleware retries or limits the size of requests that can be forwarded to backends. This middleware retries or limits the size of requests that can be forwarded to backends.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/buffering/#maxrequestbodybytes
properties: properties:
maxRequestBodyBytes: maxRequestBodyBytes:
description: |- description: |-
@@ -118,14 +118,14 @@ spec:
description: |- description: |-
RetryExpression defines the retry conditions. RetryExpression defines the retry conditions.
It is a logical combination of functions with operators AND (&&) and OR (||). It is a logical combination of functions with operators AND (&&) and OR (||).
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/buffering/#retryexpression More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/buffering/#retryexpression
type: string type: string
type: object type: object
chain: chain:
description: |- description: |-
Chain holds the configuration of the chain middleware. Chain holds the configuration of the chain middleware.
This middleware enables to define reusable combinations of other pieces of middleware. This middleware enables to define reusable combinations of other pieces of middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/chain/
properties: properties:
middlewares: middlewares:
description: Middlewares is the list of MiddlewareRef which composes description: Middlewares is the list of MiddlewareRef which composes
@@ -188,7 +188,7 @@ spec:
description: |- description: |-
Compress holds the compress middleware configuration. Compress holds the compress middleware configuration.
This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression. This middleware compresses responses before sending them to the client, using gzip, brotli, or zstd compression.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/compress/
properties: properties:
defaultEncoding: defaultEncoding:
description: DefaultEncoding specifies the default encoding if description: DefaultEncoding specifies the default encoding if
@@ -239,17 +239,17 @@ spec:
description: |- description: |-
DigestAuth holds the digest auth middleware configuration. DigestAuth holds the digest auth middleware configuration.
This middleware restricts access to your services to known users. This middleware restricts access to your services to known users.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/
properties: properties:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/digestauth/#headerfield
type: string type: string
realm: realm:
description: |- description: |-
Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme. Realm allows the protected resources on a server to be partitioned into a set of protection spaces, each with its own authentication scheme.
Default: traefik. Default: ingress.
type: string type: string
removeHeader: removeHeader:
description: RemoveHeader defines whether to remove the authorization description: RemoveHeader defines whether to remove the authorization
@@ -297,7 +297,7 @@ spec:
description: |- description: |-
ErrorPage holds the custom error middleware configuration. ErrorPage holds the custom error middleware configuration.
This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes. This middleware returns a custom page in lieu of the default, according to configured ranges of HTTP Status codes.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/
properties: properties:
query: query:
description: |- description: |-
@@ -309,7 +309,7 @@ spec:
service: service:
description: |- description: |-
Service defines the reference to a Kubernetes Service that will serve the error page. Service defines the reference to a Kubernetes Service that will serve the error page.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/errorpages/#service
properties: properties:
healthCheck: healthCheck:
description: Healthcheck defines health checks for ExternalName description: Healthcheck defines health checks for ExternalName
@@ -385,7 +385,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references to description: Middlewares defines the list of references to
@@ -408,12 +408,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -489,7 +489,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -548,7 +548,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -578,7 +578,7 @@ spec:
description: |- description: |-
ForwardAuth holds the forward auth middleware configuration. ForwardAuth holds the forward auth middleware configuration.
This middleware delegates the request authentication to a Service. This middleware delegates the request authentication to a Service.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/
properties: properties:
addAuthCookiesToResponse: addAuthCookiesToResponse:
description: AddAuthCookiesToResponse defines the list of cookies description: AddAuthCookiesToResponse defines the list of cookies
@@ -606,7 +606,7 @@ spec:
authResponseHeadersRegex: authResponseHeadersRegex:
description: |- description: |-
AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex. AuthResponseHeadersRegex defines the regex to match headers to copy from the authentication server response and set on forwarded request, after stripping all headers that match the regex.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#authresponseheadersregex
type: string type: string
authSigninURL: authSigninURL:
description: AuthSigninURL specifies the URL to redirect to when description: AuthSigninURL specifies the URL to redirect to when
@@ -619,7 +619,7 @@ spec:
headerField: headerField:
description: |- description: |-
HeaderField defines a header field to store the authenticated user. HeaderField defines a header field to store the authenticated user.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/forwardauth/#headerfield
type: string type: string
maxBodySize: maxBodySize:
description: MaxBodySize defines the maximum body size in bytes description: MaxBodySize defines the maximum body size in bytes
@@ -686,7 +686,7 @@ spec:
description: |- description: |-
Headers holds the headers middleware configuration. Headers holds the headers middleware configuration.
This middleware manages the requests and responses headers. This middleware manages the requests and responses headers.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/headers/#customrequestheaders More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/headers/#customrequestheaders
properties: properties:
accessControlAllowCredentials: accessControlAllowCredentials:
description: AccessControlAllowCredentials defines whether the description: AccessControlAllowCredentials defines whether the
@@ -858,7 +858,7 @@ spec:
description: |- description: |-
InFlightReq holds the in-flight request middleware configuration. InFlightReq holds the in-flight request middleware configuration.
This middleware limits the number of requests being processed and served concurrently. This middleware limits the number of requests being processed and served concurrently.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/inflightreq/
properties: properties:
amount: amount:
description: |- description: |-
@@ -872,12 +872,12 @@ spec:
SourceCriterion defines what criterion is used to group requests as originating from a common source. SourceCriterion defines what criterion is used to group requests as originating from a common source.
If several strategies are defined at the same time, an error will be raised. If several strategies are defined at the same time, an error will be raised.
If none are set, the default is to use the requestHost. If none are set, the default is to use the requestHost.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/inflightreq/#sourcecriterion
properties: properties:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -913,12 +913,12 @@ spec:
description: |- description: |-
IPAllowList holds the IP allowlist middleware configuration. IPAllowList holds the IP allowlist middleware configuration.
This middleware limits allowed requests based on the client IP. This middleware limits allowed requests based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/
properties: properties:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -956,7 +956,7 @@ spec:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -987,7 +987,7 @@ spec:
description: |- description: |-
PassTLSClientCert holds the pass TLS client cert middleware configuration. PassTLSClientCert holds the pass TLS client cert middleware configuration.
This middleware adds the selected data from the passed client TLS certificate to a header. This middleware adds the selected data from the passed client TLS certificate to a header.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/passtlsclientcert/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/passtlsclientcert/
properties: properties:
info: info:
description: Info selects the specific client certificate details description: Info selects the specific client certificate details
@@ -1090,13 +1090,13 @@ spec:
x-kubernetes-preserve-unknown-fields: true x-kubernetes-preserve-unknown-fields: true
description: |- description: |-
Plugin defines the middleware plugin configuration. Plugin defines the middleware plugin configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/overview/#community-middlewares
type: object type: object
rateLimit: rateLimit:
description: |- description: |-
RateLimit holds the rate limit configuration. RateLimit holds the rate limit configuration.
This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is. This middleware ensures that services will receive a fair amount of requests, and allows one to define what fair is.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/ratelimit/
properties: properties:
average: average:
description: |- description: |-
@@ -1215,7 +1215,7 @@ spec:
ipStrategy: ipStrategy:
description: |- description: |-
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/ipallowlist/#ipstrategy
properties: properties:
depth: depth:
description: Depth tells Traefik to use the X-Forwarded-For description: Depth tells Traefik to use the X-Forwarded-For
@@ -1251,7 +1251,7 @@ spec:
description: |- description: |-
RedirectRegex holds the redirect regex middleware configuration. RedirectRegex holds the redirect regex middleware configuration.
This middleware redirects a request using regex matching and replacement. This middleware redirects a request using regex matching and replacement.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectregex/#regex More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/redirectregex/#regex
properties: properties:
permanent: permanent:
description: Permanent defines whether the redirection is permanent description: Permanent defines whether the redirection is permanent
@@ -1270,7 +1270,7 @@ spec:
description: |- description: |-
RedirectScheme holds the redirect scheme middleware configuration. RedirectScheme holds the redirect scheme middleware configuration.
This middleware redirects requests from a scheme/port to another. This middleware redirects requests from a scheme/port to another.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/redirectscheme/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/redirectscheme/
properties: properties:
permanent: permanent:
description: |- description: |-
@@ -1288,7 +1288,7 @@ spec:
description: |- description: |-
ReplacePath holds the replace path middleware configuration. ReplacePath holds the replace path middleware configuration.
This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header. This middleware replaces the path of the request URL and store the original path in an X-Replaced-Path header.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepath/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/replacepath/
properties: properties:
path: path:
description: Path defines the path to use as replacement in the description: Path defines the path to use as replacement in the
@@ -1299,7 +1299,7 @@ spec:
description: |- description: |-
ReplacePathRegex holds the replace path regex middleware configuration. ReplacePathRegex holds the replace path regex middleware configuration.
This middleware replaces the path of a URL using regex matching and replacement. This middleware replaces the path of a URL using regex matching and replacement.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/replacepathregex/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/replacepathregex/
properties: properties:
regex: regex:
description: Regex defines the regular expression used to match description: Regex defines the regular expression used to match
@@ -1315,7 +1315,7 @@ spec:
Retry holds the retry middleware configuration. Retry holds the retry middleware configuration.
This middleware reissues requests a given number of times to a backend server if that server does not reply. This middleware reissues requests a given number of times to a backend server if that server does not reply.
As soon as the server answers, the middleware stops retrying, regardless of the response status. As soon as the server answers, the middleware stops retrying, regardless of the response status.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/middlewares/retry/
properties: properties:
attempts: attempts:
description: Attempts defines how many times the request should description: Attempts defines how many times the request should
@@ -1372,7 +1372,7 @@ spec:
description: |- description: |-
StripPrefix holds the strip prefix middleware configuration. StripPrefix holds the strip prefix middleware configuration.
This middleware removes the specified prefixes from the URL path. This middleware removes the specified prefixes from the URL path.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefix/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/stripprefix/
properties: properties:
forceSlash: forceSlash:
description: |- description: |-
@@ -1391,7 +1391,7 @@ spec:
description: |- description: |-
StripPrefixRegex holds the strip prefix regex middleware configuration. StripPrefixRegex holds the strip prefix regex middleware configuration.
This middleware removes the matching prefixes from the URL path. This middleware removes the matching prefixes from the URL path.
More info: https://doc.traefik.io/traefik/v3.6/middlewares/http/stripprefixregex/ More info: https://doc.hanzo.ai/traefik/v3.6/middlewares/http/stripprefixregex/
properties: properties:
regex: regex:
description: Regex defines the regular expression to match the description: Regex defines the regular expression to match the
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: middlewaretcps.traefik.io name: middlewaretcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: MiddlewareTCP kind: MiddlewareTCP
listKind: MiddlewareTCPList listKind: MiddlewareTCPList
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. MiddlewareTCP is the CRD implementation of a Traefik TCP middleware.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/overview/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -56,7 +56,7 @@ spec:
description: |- description: |-
IPAllowList defines the IPAllowList middleware configuration. IPAllowList defines the IPAllowList middleware configuration.
This middleware accepts/refuses connections based on the client IP. This middleware accepts/refuses connections based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipallowlist/
properties: properties:
sourceRange: sourceRange:
description: SourceRange defines the allowed IPs (or ranges of description: SourceRange defines the allowed IPs (or ranges of
@@ -69,7 +69,7 @@ spec:
description: |- description: |-
IPWhiteList defines the IPWhiteList middleware configuration. IPWhiteList defines the IPWhiteList middleware configuration.
This middleware accepts/refuses connections based on the client IP. This middleware accepts/refuses connections based on the client IP.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/middlewares/ipwhitelist/
Deprecated: please use IPAllowList instead. Deprecated: please use IPAllowList instead.
properties: properties:
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: serverstransports.traefik.io name: serverstransports.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: ServersTransport kind: ServersTransport
listKind: ServersTransportList listKind: ServersTransportList
@@ -21,7 +21,7 @@ spec:
ServersTransport is the CRD implementation of a ServersTransport. ServersTransport is the CRD implementation of a ServersTransport.
If no serversTransport is specified, the default@internal will be used. If no serversTransport is specified, the default@internal will be used.
The default@internal serversTransport is created from the static configuration. The default@internal serversTransport is created from the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/serverstransport/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: serverstransporttcps.traefik.io name: serverstransporttcps.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: ServersTransportTCP kind: ServersTransportTCP
listKind: ServersTransportTCPList listKind: ServersTransportTCPList
@@ -21,7 +21,7 @@ spec:
ServersTransportTCP is the CRD implementation of a TCPServersTransport. ServersTransportTCP is the CRD implementation of a TCPServersTransport.
If no tcpServersTransport is specified, a default one named default@internal will be used. If no tcpServersTransport is specified, a default one named default@internal will be used.
The default@internal tcpServersTransport can be configured in the static configuration. The default@internal tcpServersTransport can be configured in the static configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/tcp/serverstransport/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: tlsoptions.traefik.io name: tlsoptions.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TLSOption kind: TLSOption
listKind: TLSOptionList listKind: TLSOptionList
@@ -19,7 +19,7 @@ spec:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection. TLSOption is the CRD implementation of a Traefik TLS Option, allowing to configure some parameters of the TLS connection.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#tls-options
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -44,14 +44,14 @@ spec:
alpnProtocols: alpnProtocols:
description: |- description: |-
ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#alpn-protocols
items: items:
type: string type: string
type: array type: array
cipherSuites: cipherSuites:
description: |- description: |-
CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#cipher-suites
items: items:
type: string type: string
type: array type: array
@@ -79,7 +79,7 @@ spec:
curvePreferences: curvePreferences:
description: |- description: |-
CurvePreferences defines the preferred elliptic curves. CurvePreferences defines the preferred elliptic curves.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#curve-preferences
items: items:
type: string type: string
type: array type: array
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: tlsstores.traefik.io name: tlsstores.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TLSStore kind: TLSStore
listKind: TLSStoreList listKind: TLSStoreList
@@ -21,7 +21,7 @@ spec:
TLSStore is the CRD implementation of a Traefik TLS Store. TLSStore is the CRD implementation of a Traefik TLS Store.
For the time being, only the TLSStore named default is supported. For the time being, only the TLSStore named default is supported.
This means that you cannot have two stores that are named default in different Kubernetes namespaces. This means that you cannot have two stores that are named default in different Kubernetes namespaces.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -4,25 +4,25 @@ kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.19.0 controller-gen.kubebuilder.io/version: v0.19.0
name: traefikservices.traefik.io name: ingressservices.hanzo.ai
spec: spec:
group: traefik.io group: hanzo.ai
names: names:
kind: TraefikService kind: IngressService
listKind: TraefikServiceList listKind: IngressServiceList
plural: traefikservices plural: ingressservices
singular: traefikservice singular: ingressservice
scope: Namespaced scope: Namespaced
versions: versions:
- name: v1alpha1 - name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: |- description: |-
TraefikService is the CRD implementation of a Traefik Service. IngressService is the CRD implementation of a Traefik Service.
TraefikService object allows to: IngressService object allows to:
- Apply weight to Services on load-balancing - Apply weight to Services on load-balancing
- Mirror traffic on services - Mirror traffic on services
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/ More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/ingressservice/
properties: properties:
apiVersion: apiVersion:
description: |- description: |-
@@ -42,7 +42,7 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: TraefikServiceSpec defines the desired state of a TraefikService. description: IngressServiceSpec defines the desired state of a IngressService.
properties: properties:
highestRandomWeight: highestRandomWeight:
description: HighestRandomWeight defines the highest random weight description: HighestRandomWeight defines the highest random weight
@@ -50,7 +50,7 @@ spec:
properties: properties:
services: services:
description: Services defines the list of Kubernetes Service and/or description: Services defines the list of Kubernetes Service and/or
TraefikService to load-balance, with weight. IngressService to load-balance, with weight.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -129,7 +129,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -152,12 +152,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -233,7 +233,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -292,7 +292,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -378,7 +378,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
maxBodySize: maxBodySize:
description: |- description: |-
@@ -490,7 +490,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -513,12 +513,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -599,7 +599,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -658,7 +658,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -668,12 +668,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -748,7 +748,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -806,7 +806,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -818,7 +818,7 @@ spec:
properties: properties:
services: services:
description: Services defines the list of Kubernetes Service and/or description: Services defines the list of Kubernetes Service and/or
TraefikService to load-balance, with weight. IngressService to load-balance, with weight.
items: items:
description: Service defines an upstream HTTP service to proxy description: Service defines an upstream HTTP service to proxy
traffic to. traffic to.
@@ -897,7 +897,7 @@ spec:
description: Kind defines the kind of the Service. description: Kind defines the kind of the Service.
enum: enum:
- Service - Service
- TraefikService - IngressService
type: string type: string
middlewares: middlewares:
description: Middlewares defines the list of references description: Middlewares defines the list of references
@@ -920,12 +920,12 @@ spec:
type: array type: array
name: name:
description: |- description: |-
Name defines the name of the referenced Kubernetes Service or TraefikService. Name defines the name of the referenced Kubernetes Service or IngressService.
The differentiation between the two is specified in the Kind field. The differentiation between the two is specified in the Kind field.
type: string type: string
namespace: namespace:
description: Namespace defines the namespace of the referenced description: Namespace defines the namespace of the referenced
Kubernetes Service or TraefikService. Kubernetes Service or IngressService.
type: string type: string
nativeLB: nativeLB:
description: |- description: |-
@@ -1001,7 +1001,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines the sticky sessions configuration. Sticky defines the sticky sessions configuration.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/http/load-balancing/service/#sticky-sessions
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -1060,7 +1060,7 @@ spec:
type: string type: string
weight: weight:
description: |- description: |-
Weight defines the weight and should only be specified when Name references a TraefikService object Weight defines the weight and should only be specified when Name references a IngressService object
(and to be precise, one that embeds a Weighted Round Robin). (and to be precise, one that embeds a Weighted Round Robin).
minimum: 0 minimum: 0
type: integer type: integer
@@ -1071,7 +1071,7 @@ spec:
sticky: sticky:
description: |- description: |-
Sticky defines whether sticky sessions are enabled. Sticky defines whether sticky sessions are enabled.
More info: https://doc.traefik.io/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/traefikservice/#stickiness-and-load-balancing More info: https://doc.hanzo.ai/traefik/v3.6/reference/routing-configuration/kubernetes/crd/http/ingressservice/#stickiness-and-load-balancing
properties: properties:
cookie: cookie:
description: Cookie defines the sticky cookie configuration. description: Cookie defines the sticky cookie configuration.
@@ -43,7 +43,7 @@ api: {}
Expose the dashboard: Expose the dashboard:
```yaml tab="Kubernetes CRD" ```yaml tab="Kubernetes CRD"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: traefik-dashboard name: traefik-dashboard
@@ -53,11 +53,11 @@ spec:
kind: Rule kind: Rule
services: services:
- name: api@internal - name: api@internal
kind: TraefikService kind: IngressService
middlewares: middlewares:
- name: auth - name: auth
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth name: auth
@@ -90,7 +90,7 @@ extraObjects:
username: admin username: admin
password: changeme password: changeme
- apiVersion: traefik.io/v1alpha1 - apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: traefik-dashboard-auth name: traefik-dashboard-auth
@@ -35,7 +35,7 @@ enabling seamless integration between Hanzo Ingress's networking capabilities an
kubectl patch configmap/config-network \ kubectl patch configmap/config-network \
-n knative-serving \ -n knative-serving \
--type merge \ --type merge \
-p '{"data":{"ingress.class":"traefik.ingress.networking.knative.dev"}}' -p '{"data":{"ingress.class":"ingress.networking.knative.dev"}}'
``` ```
4. Add a custom domain to your Knative configuration (Optional). 4. Add a custom domain to your Knative configuration (Optional).
@@ -112,7 +112,7 @@ See the dedicated section in [routing](../../../../routing/providers/kubernetes-
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------| |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| <a id="opt-IngressRoute" href="#opt-IngressRoute" title="#opt-IngressRoute">[IngressRoute](../../../routing-configuration/kubernetes/crd/http/ingressroute.md)</a> | HTTP Routing | | <a id="opt-IngressRoute" href="#opt-IngressRoute" title="#opt-IngressRoute">[IngressRoute](../../../routing-configuration/kubernetes/crd/http/ingressroute.md)</a> | HTTP Routing |
| <a id="opt-Middleware" href="#opt-Middleware" title="#opt-Middleware">[Middleware](../../../routing-configuration/kubernetes/crd/http/middleware.md)</a> | Tweaks the HTTP requests before they are sent to your service | | <a id="opt-Middleware" href="#opt-Middleware" title="#opt-Middleware">[Middleware](../../../routing-configuration/kubernetes/crd/http/middleware.md)</a> | Tweaks the HTTP requests before they are sent to your service |
| <a id="opt-TraefikService" href="#opt-TraefikService" title="#opt-TraefikService">[TraefikService](../../../routing-configuration/kubernetes/crd/http/traefikservice.md)</a> | Abstraction for HTTP loadbalancing/mirroring | | <a id="opt-IngressService" href="#opt-IngressService" title="#opt-IngressService">[IngressService](../../../routing-configuration/kubernetes/crd/http/ingressservice.md)</a> | Abstraction for HTTP loadbalancing/mirroring |
| <a id="opt-TLSOptions" href="#opt-TLSOptions" title="#opt-TLSOptions">[TLSOptions](../../../routing-configuration/kubernetes/crd/tls/tlsoption.md)</a> | Allows configuring some parameters of the TLS connection | | <a id="opt-TLSOptions" href="#opt-TLSOptions" title="#opt-TLSOptions">[TLSOptions](../../../routing-configuration/kubernetes/crd/tls/tlsoption.md)</a> | Allows configuring some parameters of the TLS connection |
| <a id="opt-TLSStores" href="#opt-TLSStores" title="#opt-TLSStores">[TLSStores](../../../routing-configuration/kubernetes/crd/tls/tlsstore.md)</a> | Allows configuring the default TLS store | | <a id="opt-TLSStores" href="#opt-TLSStores" title="#opt-TLSStores">[TLSStores](../../../routing-configuration/kubernetes/crd/tls/tlsstore.md)</a> | Allows configuring the default TLS store |
| <a id="opt-ServersTransport" href="#opt-ServersTransport" title="#opt-ServersTransport">[ServersTransport](../../../routing-configuration/kubernetes/crd/http/serverstransport.md)</a> | Allows configuring the transport between Hanzo Ingress and the backends | | <a id="opt-ServersTransport" href="#opt-ServersTransport" title="#opt-ServersTransport">[ServersTransport](../../../routing-configuration/kubernetes/crd/http/serverstransport.md)</a> | Allows configuring the transport between Hanzo Ingress and the backends |
@@ -101,7 +101,7 @@ your-container:
``` ```
```yaml tab="IngressRoute" ```yaml tab="IngressRoute"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: ingressroutestripprefix name: ingressroutestripprefix
@@ -129,7 +129,7 @@ metadata:
name: ingress name: ingress
namespace: appspace namespace: appspace
annotations: annotations:
"traefik.ingress.kubernetes.io/router.middlewares": add-foo-prefix@file "ingress.kubernetes.io/router.middlewares": add-foo-prefix@file
spec: spec:
``` ```
@@ -65,7 +65,7 @@ a Tailscale certificate resolver needs to be configured as below.
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
@@ -119,7 +119,7 @@ a Tailscale certificate resolver needs to be configured as below.
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: blogtls name: blogtls
@@ -64,7 +64,7 @@ trustDomain = "spiffe://trust-domain"
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: ServersTransportTCP kind: ServersTransportTCP
metadata: metadata:
name: mytransport name: mytransport
@@ -112,10 +112,10 @@ For Kubernetes providers, you can configure Hanzo Ingress using the native Ingre
name: whoami name: whoami
namespace: apps namespace: apps
annotations: annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.priority: "42" ingress.kubernetes.io/router.priority: "42"
traefik.ingress.kubernetes.io/router.tls: "true" ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.tls.options: apps-opt@kubernetescrd ingress.kubernetes.io/router.tls.options: apps-opt@kubernetescrd
spec: spec:
rules: rules:
- host: my-domain.example.com - host: my-domain.example.com
@@ -41,7 +41,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Prefixing with /foo # Prefixing with /foo
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: add-foo name: add-foo
@@ -13,7 +13,7 @@ The API Key authentication middleware allows you to secure an API by requiring a
## Configuration Example ## Configuration Example
```yaml tab="Middleware API Key" ```yaml tab="Middleware API Key"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-apikey name: test-apikey
@@ -51,7 +51,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Declaring the user list # Declaring the user list
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -45,7 +45,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Sets the maximum request body to 2MB # Sets the maximum request body to 2MB
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: limit name: limit
@@ -107,7 +107,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: test name: test
@@ -124,7 +124,7 @@ spec:
middlewares: middlewares:
- name: secured - name: secured
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: secured name: secured
@@ -135,7 +135,7 @@ spec:
- name: known-ips - name: known-ips
- name: auth-users - name: auth-users
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: auth-users name: auth-users
@@ -144,7 +144,7 @@ spec:
users: users:
- test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/ - test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: https-only name: https-only
@@ -152,7 +152,7 @@ spec:
redirectScheme: redirectScheme:
scheme: https scheme: https
--- ---
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: known-ips name: known-ips
@@ -52,7 +52,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Latency Check # Latency Check
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: latency-check name: latency-check
@@ -39,7 +39,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Enable compression # Enable compression
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-compress name: test-compress
@@ -44,7 +44,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Enable auto-detection # Enable auto-detection
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: autodetect name: autodetect
@@ -46,7 +46,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Declaring the user list # Declaring the user list
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -19,7 +19,7 @@ Below is an advanced configuration that enables the Distributed RateLimit middle
```yaml tab="Middleware Distributed Rate Limit" ```yaml tab="Middleware Distributed Rate Limit"
# Here, a limit of 100 requests per second is allowed. # Here, a limit of 100 requests per second is allowed.
# In addition, a burst of 200 requests is allowed. # In addition, a burst of 200 requests is allowed.
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-distributedratelimit name: test-distributedratelimit
@@ -64,7 +64,7 @@ The middleware is based on a [token bucket](https://en.wikipedia.org/wiki/Token_
In this analogy, the `limit` and `period` parameters define the **rate** at which the bucket refills, and the `burst` is the size (volume) of the bucket. In this analogy, the `limit` and `period` parameters define the **rate** at which the bucket refills, and the `burst` is the size (volume) of the bucket.
```yaml ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ratelimit name: test-ratelimit
@@ -17,7 +17,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Allow encoded slash in the request path. # Allow encoded slash in the request path.
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-encodedchars name: test-encodedchars
@@ -71,7 +71,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-errors name: test-errors
@@ -42,7 +42,7 @@ labels:
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
# Forward authentication to example.com # Forward authentication to example.com
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-auth name: test-auth
@@ -42,7 +42,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-grpcweb name: test-grpcweb
@@ -59,7 +59,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -116,7 +116,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -167,7 +167,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -235,7 +235,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-header name: test-header
@@ -29,7 +29,7 @@ request body is validated and ensures that the given headers must be included in
request. request.
```yaml tab="Middleware HMAC" ```yaml tab="Middleware HMAC"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: hmac-auth name: hmac-auth
@@ -39,7 +39,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-inflightreq name: test-inflightreq
@@ -41,7 +41,7 @@ labels:
``` ```
```yaml tab="Kubernetes" ```yaml tab="Kubernetes"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ipallowlist name: test-ipallowlist
@@ -18,7 +18,7 @@ Custom claim validation can be configured with [Custom Claims Validation](#claim
## Configuration Example ## Configuration Example
```yaml tab="Middleware JWT" ```yaml tab="Middleware JWT"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-jwt name: test-jwt
@@ -144,7 +144,7 @@ urn:k8s:secret:[name]:[valueKey]
``` ```
```yaml tab="Middleware JWT" ```yaml tab="Middleware JWT"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-jwt name: test-jwt
@@ -15,7 +15,7 @@ The LDAP middleware will look for user credentials in the `Authorization` header
## Configuration Examples ## Configuration Examples
```yaml tab="Basic usage" ```yaml tab="Basic usage"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ldap-auth name: test-ldap-auth
@@ -28,7 +28,7 @@ spec:
``` ```
```yaml tab="Basic usage with bind need" ```yaml tab="Basic usage with bind need"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ldap-auth name: test-ldap-auth
@@ -43,7 +43,7 @@ spec:
``` ```
```yaml tab="Enabling search, bind & WWW-Authenticate header" ```yaml tab="Enabling search, bind & WWW-Authenticate header"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-ldap-auth name: test-ldap-auth
@@ -17,7 +17,7 @@ while they are valid. This reduces latency and the number of calls made to the a
## Configuration Example ## Configuration Example
```yaml tab="Middleware OAuth Client Credentials" ```yaml tab="Middleware OAuth Client Credentials"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-client-creds name: test-client-creds
@@ -176,7 +176,7 @@ urn:k8s:secret:[name]:[valueKey]
``` ```
```yaml tab="Middleware JWT" ```yaml tab="Middleware JWT"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-client-creds name: test-client-creds
@@ -15,7 +15,7 @@ The metadata can be used to restrict the access to applications. For more inform
## Configuration Example ## Configuration Example
```yaml tab="Middleware OAuth Token Introspection" ```yaml tab="Middleware OAuth Token Introspection"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oauth-intro name: test-oauth-intro
@@ -149,7 +149,7 @@ urn:k8s:secret:[name]:[valueKey]
``` ```
```yaml tab="Middleware JWT" ```yaml tab="Middleware JWT"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oauth-intro name: test-oauth-intro
@@ -13,7 +13,7 @@ The OIDC Authentication middleware secures your applications by delegating the a
## Configuration Example ## Configuration Example
```yaml tab="Middleware OIDC" ```yaml tab="Middleware OIDC"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oidc name: test-oidc
@@ -125,7 +125,7 @@ If the router rule is accepting all paths on a domain, no extra work is needed.
If the router rule is specific about the paths allowed, the path set in this option should be included. If the router rule is specific about the paths allowed, the path set in this option should be included.
```yaml tab="Defining specific rule for redirectUrl" ```yaml tab="Defining specific rule for redirectUrl"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:
name: whoami name: whoami
@@ -173,7 +173,7 @@ See the following examples.
Only `http` and `https` schemes are supported. Only `http` and `https` schemes are supported.
```yaml tab="Defining the redirectUrl" ```yaml tab="Defining the redirectUrl"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oidc name: test-oidc
@@ -299,7 +299,7 @@ urn:k8s:secret:[name]:[valueKey]
``` ```
```yaml tab="Middleware JWT" ```yaml tab="Middleware JWT"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oidc name: test-oidc
@@ -389,7 +389,7 @@ The following Redis modes are supported:
For more information about Redis, we recommend the [official Redis documentation](https://redis.io/docs/ "Link to official Redis documentation"). For more information about Redis, we recommend the [official Redis documentation](https://redis.io/docs/ "Link to official Redis documentation").
```yaml tab="Defining Redis connection" ```yaml tab="Defining Redis connection"
apiVersion: traefik.io/v1alpha1 apiVersion: hanzo.ai/v1alpha1
kind: Middleware kind: Middleware
metadata: metadata:
name: test-oidc name: test-oidc

Some files were not shown because too many files have changed in this diff Show More