mirror of
https://github.com/hanzoai/ingress.git
synced 2026-10-20 15:07:40 +00:00
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:
+1
-1
@@ -2358,7 +2358,7 @@ Release canceled.
|
||||
|
||||
**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))
|
||||
- **[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))
|
||||
- **[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))
|
||||
|
||||
@@ -210,7 +210,7 @@ metadata:
|
||||
annotations:
|
||||
ingressclass.kubernetes.io/is-default-class: "true"
|
||||
spec:
|
||||
controller: traefik.io/ingress-controller
|
||||
controller: hanzo.ai/ingress-controller
|
||||
```
|
||||
|
||||
Any Ingress resource without an explicit `ingressClassName` is automatically picked up.
|
||||
|
||||
@@ -7,17 +7,17 @@ import (
|
||||
"github.com/hanzoai/ingress/v3/pkg/config/static"
|
||||
)
|
||||
|
||||
// TraefikCmdConfiguration wraps the static configuration and extra parameters.
|
||||
type TraefikCmdConfiguration struct {
|
||||
// IngressCmdConfiguration wraps the static configuration and extra parameters.
|
||||
type IngressCmdConfiguration struct {
|
||||
static.Configuration `export:"true"`
|
||||
|
||||
// ConfigFile is the path to the configuration file.
|
||||
ConfigFile string `description:"Configuration file to use. If specified all other flags are ignored." export:"true"`
|
||||
}
|
||||
|
||||
// NewTraefikConfiguration creates a TraefikCmdConfiguration with default values.
|
||||
func NewTraefikConfiguration() *TraefikCmdConfiguration {
|
||||
return &TraefikCmdConfiguration{
|
||||
// NewIngressConfiguration creates a IngressCmdConfiguration with default values.
|
||||
func NewIngressConfiguration() *IngressCmdConfiguration {
|
||||
return &IngressCmdConfiguration{
|
||||
Configuration: static.Configuration{
|
||||
Global: &static.Global{
|
||||
CheckNewVersion: true,
|
||||
|
||||
@@ -12,21 +12,21 @@ import (
|
||||
)
|
||||
|
||||
// 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{
|
||||
Name: "healthcheck",
|
||||
Description: `Calls Traefik /ping endpoint (disabled by default) to check the health of Traefik.`,
|
||||
Configuration: traefikConfiguration,
|
||||
Run: runCmd(traefikConfiguration),
|
||||
Configuration: ingressConfiguration,
|
||||
Run: runCmd(ingressConfiguration),
|
||||
Resources: loaders,
|
||||
}
|
||||
}
|
||||
|
||||
func runCmd(traefikConfiguration *static.Configuration) func(_ []string) error {
|
||||
func runCmd(ingressConfiguration *static.Configuration) func(_ []string) error {
|
||||
return func(_ []string) error {
|
||||
traefikConfiguration.SetEffectiveConfiguration()
|
||||
ingressConfiguration.SetEffectiveConfiguration()
|
||||
|
||||
resp, errPing := Do(*traefikConfiguration)
|
||||
resp, errPing := Do(*ingressConfiguration)
|
||||
if resp != nil {
|
||||
resp.Body.Close()
|
||||
}
|
||||
@@ -53,7 +53,7 @@ func Do(staticConfiguration static.Configuration) (*http.Response, error) {
|
||||
|
||||
ep := staticConfiguration.Ping.EntryPoint
|
||||
if ep == "" {
|
||||
ep = "traefik"
|
||||
ep = "ingress"
|
||||
}
|
||||
|
||||
pingEntryPoint, ok := staticConfiguration.EntryPoints[ep]
|
||||
|
||||
+10
-10
@@ -38,7 +38,7 @@ import (
|
||||
"github.com/hanzoai/ingress/v3/pkg/provider/acme"
|
||||
"github.com/hanzoai/ingress/v3/pkg/provider/aggregator"
|
||||
"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/httputil"
|
||||
"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/service"
|
||||
"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"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// traefik config inits
|
||||
tConfig := cmd.NewTraefikConfiguration()
|
||||
tConfig := cmd.NewIngressConfiguration()
|
||||
|
||||
loaders := []cli.ResourceLoader{&tcli.DeprecationLoader{}, &tcli.FileLoader{}, &tcli.FlagLoader{}, &tcli.EnvLoader{}}
|
||||
|
||||
cmdTraefik := &cli.Command{
|
||||
cmdIngress := &cli.Command{
|
||||
Name: "hanzo-ingress",
|
||||
Description: `Hanzo Ingress is a cloud-native reverse proxy and load balancer for Hanzo infrastructure.
|
||||
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 {
|
||||
stdlog.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err = cmdTraefik.AddCommand(cmdVersion.NewCmd())
|
||||
err = cmdIngress.AddCommand(cmdVersion.NewCmd())
|
||||
if err != nil {
|
||||
stdlog.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err = cli.Execute(cmdTraefik)
|
||||
err = cli.Execute(cmdIngress)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Command error")
|
||||
logrus.Exit(1)
|
||||
@@ -178,14 +178,14 @@ func setupServer(staticConfiguration *static.Configuration) (*server.Server, err
|
||||
routinesPool := safe.NewPool(ctx)
|
||||
|
||||
// adds internal provider
|
||||
err := providerAggregator.AddProvider(traefik.New(*staticConfiguration))
|
||||
err := providerAggregator.AddProvider(builtins.New(*staticConfiguration))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// ACME
|
||||
|
||||
tlsManager := traefiktls.NewManager(staticConfiguration.OCSP)
|
||||
tlsManager := ingresstls.NewManager(staticConfiguration.OCSP)
|
||||
routinesPool.GoCtx(tlsManager.Run)
|
||||
|
||||
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.
|
||||
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{}
|
||||
|
||||
var resolvers []*acme.Provider
|
||||
|
||||
@@ -127,7 +127,7 @@ func TestGetDefaultsEntrypoints(t *testing.T) {
|
||||
"web": {
|
||||
Address: ":80",
|
||||
},
|
||||
"traefik": {
|
||||
"ingress": {
|
||||
Address: ":8080",
|
||||
},
|
||||
},
|
||||
|
||||
@@ -24,7 +24,7 @@ Middlewares allow you to modify requests or responses as they pass through Hanzo
|
||||
### Create Middlewares
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: secure-headers
|
||||
@@ -39,7 +39,7 @@ spec:
|
||||
stsPreload: true
|
||||
stsSeconds: 31536000
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
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:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
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:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
@@ -364,11 +364,11 @@ kubectl scale deployment whoami --replicas=3
|
||||
|
||||
### Using Gateway API with Hanzo IngressService
|
||||
|
||||
First, create the `TraefikService` for sticky sessions:
|
||||
First, create the `IngressService` for sticky sessions:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: whoami-sticky
|
||||
namespace: default
|
||||
@@ -391,7 +391,7 @@ Save this as `whoami-sticky-service.yaml` and apply it:
|
||||
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
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
@@ -429,8 +429,8 @@ spec:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
backendRefs:
|
||||
- group: traefik.io # <── tell Gateway this is a TraefikService
|
||||
kind: TraefikService
|
||||
- group: traefik.io # <── tell Gateway this is a IngressService
|
||||
kind: IngressService
|
||||
name: whoami-sticky
|
||||
filters:
|
||||
- type: ExtensionRef
|
||||
@@ -456,11 +456,11 @@ kubectl apply -f whoami-route.yaml
|
||||
|
||||
### Using IngressRoute with Hanzo IngressService
|
||||
|
||||
First, create the `TraefikService` for sticky sessions:
|
||||
First, create the `IngressService` for sticky sessions:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: whoami-sticky
|
||||
namespace: default
|
||||
@@ -482,10 +482,10 @@ Save this as `whoami-sticky-service.yaml` and apply it:
|
||||
kubectl apply -f whoami-sticky-service.yaml
|
||||
```
|
||||
|
||||
Now update your IngressRoute to use this `TraefikService`:
|
||||
Now update your IngressRoute to use this `IngressService`:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
@@ -509,7 +509,7 @@ spec:
|
||||
- name: ip-allowlist
|
||||
services:
|
||||
- name: whoami-sticky # Changed from whoami to whoami-sticky
|
||||
kind: TraefikService # Added kind: TraefikService
|
||||
kind: IngressService # Added kind: IngressService
|
||||
tls:
|
||||
certResolver: le
|
||||
```
|
||||
@@ -660,7 +660,7 @@ stringData:
|
||||
admin:$apr1$DmXR3Add$wfdbGw6RWIhFb0ffXMM4d0
|
||||
user:$apr1$GJtcIY1o$mSLdsWYeXpPHVsxGDqadI.
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth-middleware
|
||||
@@ -670,7 +670,7 @@ spec:
|
||||
secret: auth-secret
|
||||
headerField: X-Auth-User
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: api-parent
|
||||
@@ -685,7 +685,7 @@ spec:
|
||||
- name: auth-middleware
|
||||
# Note: No services and no TLS config - this is a parent IngressRoute
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: api-admin
|
||||
@@ -701,7 +701,7 @@ spec:
|
||||
- name: admin-backend
|
||||
port: 80
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
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:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: api-child
|
||||
@@ -787,7 +787,7 @@ spec:
|
||||
Child IngressRoutes can reference multiple parent IngressRoutes:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: api-child
|
||||
|
||||
@@ -95,7 +95,7 @@ kubectl apply -f whoami-route.yaml
|
||||
### Using IngressRoute
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
@@ -252,7 +252,7 @@ kubectl apply -f whoami-route.yaml
|
||||
Update your existing IngressRoute to include path-based routing:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
@@ -387,7 +387,7 @@ kubectl apply -f whoami-route.yaml
|
||||
Update your existing IngressRoute to use TLS:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
|
||||
@@ -186,7 +186,7 @@ Create an IngressRoute:
|
||||
|
||||
```yaml
|
||||
# whoami-ingressroute.yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
|
||||
@@ -18,7 +18,7 @@ deploy:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
|
||||
@@ -18,7 +18,7 @@ deploy:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
|
||||
@@ -103,7 +103,7 @@ A certificate resolver requests certificates for a set of domain names inferred
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
@@ -159,7 +159,7 @@ A certificate resolver requests certificates for a set of domain names inferred
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
|
||||
+13
-13
@@ -134,7 +134,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSStore
|
||||
metadata:
|
||||
name: default
|
||||
@@ -195,7 +195,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSStore
|
||||
metadata:
|
||||
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.
|
||||
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:
|
||||
`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
|
||||
|
||||
@@ -269,7 +269,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -279,7 +279,7 @@ spec:
|
||||
minVersion: VersionTLS12
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: mintls13
|
||||
@@ -320,7 +320,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -330,7 +330,7 @@ spec:
|
||||
maxVersion: VersionTLS13
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: maxtls12
|
||||
@@ -365,7 +365,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -410,7 +410,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -446,7 +446,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -485,7 +485,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -539,7 +539,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
@@ -577,7 +577,7 @@ tls:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: default
|
||||
|
||||
@@ -20,7 +20,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Prefixing with /foo
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: add-foo
|
||||
|
||||
@@ -26,7 +26,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -100,7 +100,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -181,7 +181,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -237,7 +237,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -274,7 +274,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: my-auth
|
||||
@@ -313,7 +313,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
@@ -24,7 +24,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Sets the maximum request body to 2MB
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
@@ -70,7 +70,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
@@ -109,7 +109,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
@@ -150,7 +150,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
@@ -189,7 +189,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
@@ -230,7 +230,7 @@ You can have the Buffering middleware replay the request using `retryExpression`
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
|
||||
@@ -28,7 +28,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: test
|
||||
@@ -45,7 +45,7 @@ spec:
|
||||
middlewares:
|
||||
- name: secured
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: secured
|
||||
@@ -56,7 +56,7 @@ spec:
|
||||
- name: known-ips
|
||||
- name: auth-users
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth-users
|
||||
@@ -65,7 +65,7 @@ spec:
|
||||
users:
|
||||
- test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: https-only
|
||||
@@ -73,7 +73,7 @@ spec:
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: known-ips
|
||||
|
||||
@@ -36,7 +36,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Latency Check
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: latency-check
|
||||
|
||||
@@ -21,7 +21,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Enable compression
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
@@ -90,7 +90,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
@@ -139,7 +139,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
@@ -192,7 +192,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
@@ -233,7 +233,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
@@ -274,7 +274,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
|
||||
@@ -26,7 +26,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Enable auto-detection
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: autodetect
|
||||
|
||||
@@ -20,7 +20,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -76,7 +76,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -136,7 +136,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -192,7 +192,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -229,7 +229,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: my-auth
|
||||
@@ -268,7 +268,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
@@ -25,7 +25,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-errors
|
||||
|
||||
@@ -22,7 +22,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Forward authentication to example.com
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -76,7 +76,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -113,7 +113,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -154,7 +154,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -201,7 +201,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -249,7 +249,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -298,7 +298,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -348,7 +348,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -392,7 +392,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -443,7 +443,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -501,7 +501,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -566,7 +566,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -629,7 +629,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -674,7 +674,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -715,7 +715,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -756,7 +756,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
@@ -800,7 +800,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
@@ -23,7 +23,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-grpcweb
|
||||
|
||||
@@ -25,7 +25,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -75,7 +75,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -128,7 +128,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -178,7 +178,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
|
||||
@@ -18,7 +18,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -61,7 +61,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -129,7 +129,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -183,7 +183,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -244,7 +244,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -286,7 +286,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
@@ -326,7 +326,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
|
||||
@@ -19,7 +19,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
@@ -97,7 +97,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Allowlisting Based on `X-Forwarded-For` with `depth=2`
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
@@ -163,7 +163,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Exclude from `X-Forwarded-For`
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
@@ -233,7 +233,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
@@ -277,7 +277,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Reject requests with a 404 rather than a 403
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
|
||||
@@ -23,7 +23,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipwhitelist
|
||||
@@ -101,7 +101,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Whitelisting Based on `X-Forwarded-For` with `depth=2`
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipwhitelist
|
||||
@@ -167,7 +167,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Exclude from `X-Forwarded-For`
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipwhitelist
|
||||
@@ -237,7 +237,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipWhiteList
|
||||
|
||||
@@ -25,7 +25,7 @@ whoami:
|
||||
```yaml tab="IngressRoute"
|
||||
# As a Kubernetes Hanzo Ingress IngressRoute
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: stripprefix
|
||||
@@ -35,7 +35,7 @@ spec:
|
||||
- /stripit
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: ingressroute
|
||||
|
||||
@@ -25,7 +25,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-passtlsclientcert
|
||||
@@ -83,7 +83,7 @@ http:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Pass all the available info in the `X-Forwarded-Tls-Client-Cert-Info` header
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-passtlsclientcert
|
||||
|
||||
@@ -25,7 +25,7 @@ labels:
|
||||
```yaml tab="Kubernetes"
|
||||
# Here, an average of 100 requests per second is allowed.
|
||||
# In addition, a burst of 200 requests is allowed.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -81,7 +81,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# 100 reqs/s
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -130,7 +130,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# 6 reqs/minute
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -176,7 +176,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -241,7 +241,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -322,7 +322,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -383,7 +383,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -427,7 +427,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -467,7 +467,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -514,7 +514,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -560,7 +560,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -615,7 +615,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -670,7 +670,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -723,7 +723,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -779,7 +779,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -841,7 +841,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -901,7 +901,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -953,7 +953,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -998,7 +998,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -1043,7 +1043,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -1089,7 +1089,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -1135,7 +1135,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
@@ -1180,7 +1180,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
|
||||
@@ -26,7 +26,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Redirect with domain replacement
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-redirectregex
|
||||
|
||||
@@ -34,7 +34,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Redirect to https
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-redirectscheme
|
||||
@@ -84,7 +84,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Redirect to https
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-redirectscheme
|
||||
@@ -131,7 +131,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Redirect to https
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-redirectscheme
|
||||
@@ -175,7 +175,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Redirect to https
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-redirectscheme
|
||||
|
||||
@@ -24,7 +24,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Replace the path with /foo
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-replacepath
|
||||
|
||||
@@ -25,7 +25,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Replace path with regex
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-replacepathregex
|
||||
|
||||
@@ -30,7 +30,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Retry 4 times with exponential backoff
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-retry
|
||||
|
||||
@@ -24,7 +24,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Strip prefix /foobar and /fiibar
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-stripprefix
|
||||
@@ -118,7 +118,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: example
|
||||
|
||||
@@ -18,7 +18,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-stripprefixregex
|
||||
|
||||
@@ -35,7 +35,7 @@ whoami:
|
||||
|
||||
```yaml tab="IngressRoute"
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: stripprefix
|
||||
@@ -45,7 +45,7 @@ spec:
|
||||
- /stripit
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: ingressroute
|
||||
|
||||
@@ -13,7 +13,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: MiddlewareTCP
|
||||
metadata:
|
||||
name: test-inflightconn
|
||||
|
||||
@@ -19,7 +19,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: MiddlewareTCP
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
|
||||
@@ -23,7 +23,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: MiddlewareTCP
|
||||
metadata:
|
||||
name: test-ipwhitelist
|
||||
|
||||
@@ -25,7 +25,7 @@ whoami:
|
||||
```yaml tab="IngressRoute"
|
||||
# As a Kubernetes Hanzo Ingress IngressRoute
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: MiddlewareTCP
|
||||
metadata:
|
||||
name: foo-ip-allowlist
|
||||
@@ -36,7 +36,7 @@ spec:
|
||||
- 192.168.1.7
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRouteTCP
|
||||
metadata:
|
||||
name: ingressroute
|
||||
|
||||
@@ -550,9 +550,9 @@ In v3, the Kubernetes Ingress default path matching does not support regexes any
|
||||
Two levels of remediation are possible:
|
||||
|
||||
- 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
|
||||
|
||||
@@ -690,7 +690,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: test.route
|
||||
|
||||
@@ -113,7 +113,7 @@ kubectl apply -f https://raw.githubusercontent.com/hanzoai/ingress/v3.3/docs/con
|
||||
|
||||
**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))
|
||||
- [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
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: ServersTransport
|
||||
metadata:
|
||||
name: foo
|
||||
@@ -357,7 +357,7 @@ spec:
|
||||
- secret: ca-secret
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: ServersTransportTCP
|
||||
metadata:
|
||||
name: foo
|
||||
|
||||
@@ -120,7 +120,7 @@ http:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# ingressroute.yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: my-router
|
||||
|
||||
@@ -69,7 +69,7 @@ http:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# ingressroute.yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: my-router
|
||||
|
||||
@@ -61,7 +61,7 @@ http:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# ingressoute.yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: my-router
|
||||
|
||||
@@ -20,7 +20,7 @@ deploy:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes CRD"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
@@ -30,11 +30,11 @@ spec:
|
||||
kind: Rule
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
middlewares:
|
||||
- name: auth
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth
|
||||
|
||||
@@ -20,7 +20,7 @@ deploy:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes CRD"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
@@ -30,11 +30,11 @@ spec:
|
||||
kind: Rule
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
middlewares:
|
||||
- name: auth
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth
|
||||
|
||||
@@ -20,7 +20,7 @@ deploy:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes CRD"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
@@ -30,11 +30,11 @@ spec:
|
||||
kind: Rule
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
middlewares:
|
||||
- name: auth
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth
|
||||
|
||||
@@ -243,7 +243,7 @@ Otherwise, Ingresses missing the annotation, having an empty value, or the value
|
||||
metadata:
|
||||
name: traefik-lb
|
||||
spec:
|
||||
controller: traefik.io/ingress-controller
|
||||
controller: hanzo.ai/ingress-controller
|
||||
```
|
||||
|
||||
```yaml tab="Ingress"
|
||||
@@ -510,7 +510,7 @@ providers:
|
||||
_Optional, Default: false_
|
||||
|
||||
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)"
|
||||
providers:
|
||||
|
||||
@@ -82,7 +82,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
|
||||
```
|
||||
|
||||
```yaml tab="IngressRoute"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: ingressroutestripprefix
|
||||
@@ -104,7 +104,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
|
||||
```
|
||||
|
||||
```yaml tab="Ingress"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: stripprefix
|
||||
@@ -123,7 +123,7 @@ For the list of the providers names, see the [supported providers](#supported-pr
|
||||
annotations:
|
||||
# referencing a middleware from Kubernetes CRD provider:
|
||||
# <middleware-namespace>-<middleware-name>@kubernetescrd
|
||||
"traefik.ingress.kubernetes.io/router.middlewares": appspace-stripprefix@kubernetescrd
|
||||
"ingress.kubernetes.io/router.middlewares": appspace-stripprefix@kubernetescrd
|
||||
spec:
|
||||
# ... regular ingress definition
|
||||
```
|
||||
|
||||
@@ -1,283 +1,283 @@
|
||||
## CODE GENERATED AUTOMATICALLY
|
||||
## THIS FILE MUST NOT BE EDITED BY HAND
|
||||
- "traefik.http.middlewares.middleware01.addprefix.prefix=foobar"
|
||||
- "traefik.http.middlewares.middleware02.basicauth.headerfield=foobar"
|
||||
- "traefik.http.middlewares.middleware02.basicauth.realm=foobar"
|
||||
- "traefik.http.middlewares.middleware02.basicauth.removeheader=true"
|
||||
- "traefik.http.middlewares.middleware02.basicauth.users=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware02.basicauth.usersfile=foobar"
|
||||
- "traefik.http.middlewares.middleware03.buffering.maxrequestbodybytes=42"
|
||||
- "traefik.http.middlewares.middleware03.buffering.maxresponsebodybytes=42"
|
||||
- "traefik.http.middlewares.middleware03.buffering.memrequestbodybytes=42"
|
||||
- "traefik.http.middlewares.middleware03.buffering.memresponsebodybytes=42"
|
||||
- "traefik.http.middlewares.middleware03.buffering.retryexpression=foobar"
|
||||
- "traefik.http.middlewares.middleware04.chain.middlewares=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware05.circuitbreaker.checkperiod=42s"
|
||||
- "traefik.http.middlewares.middleware05.circuitbreaker.expression=foobar"
|
||||
- "traefik.http.middlewares.middleware05.circuitbreaker.fallbackduration=42s"
|
||||
- "traefik.http.middlewares.middleware05.circuitbreaker.recoveryduration=42s"
|
||||
- "traefik.http.middlewares.middleware05.circuitbreaker.responsecode=42"
|
||||
- "traefik.http.middlewares.middleware06.compress=true"
|
||||
- "traefik.http.middlewares.middleware06.compress.defaultencoding=foobar"
|
||||
- "traefik.http.middlewares.middleware06.compress.encodings=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware06.compress.excludedcontenttypes=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware06.compress.includedcontenttypes=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware06.compress.minresponsebodybytes=42"
|
||||
- "traefik.http.middlewares.middleware07.contenttype=true"
|
||||
- "traefik.http.middlewares.middleware07.contenttype.autodetect=true"
|
||||
- "traefik.http.middlewares.middleware08.digestauth.headerfield=foobar"
|
||||
- "traefik.http.middlewares.middleware08.digestauth.realm=foobar"
|
||||
- "traefik.http.middlewares.middleware08.digestauth.removeheader=true"
|
||||
- "traefik.http.middlewares.middleware08.digestauth.users=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware08.digestauth.usersfile=foobar"
|
||||
- "traefik.http.middlewares.middleware09.errors.query=foobar"
|
||||
- "traefik.http.middlewares.middleware09.errors.service=foobar"
|
||||
- "traefik.http.middlewares.middleware09.errors.status=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware09.errors.statusrewrites.name0=42"
|
||||
- "traefik.http.middlewares.middleware09.errors.statusrewrites.name1=42"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.addauthcookiestoresponse=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.address=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.authrequestheaders=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.authresponseheaders=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.authresponseheadersregex=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.forwardbody=true"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.headerfield=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.maxbodysize=42"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.maxresponsebodysize=42"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.preservelocationheader=true"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.preserverequestmethod=true"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.tls.ca=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.tls.caoptional=true"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.tls.cert=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.tls.insecureskipverify=true"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.tls.key=foobar"
|
||||
- "traefik.http.middlewares.middleware10.forwardauth.trustforwardheader=true"
|
||||
- "traefik.http.middlewares.middleware11.grpcweb.alloworigins=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowcredentials=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowheaders=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolallowmethods=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolalloworiginlist=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolalloworiginlistregex=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolexposeheaders=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.accesscontrolmaxage=42"
|
||||
- "traefik.http.middlewares.middleware12.headers.addvaryheader=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.allowedhosts=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.browserxssfilter=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.contentsecuritypolicy=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.contentsecuritypolicyreportonly=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.contenttypenosniff=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.custombrowserxssvalue=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.customframeoptionsvalue=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.customrequestheaders.name0=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.customrequestheaders.name1=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.customresponseheaders.name0=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.customresponseheaders.name1=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.featurepolicy=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.forcestsheader=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.framedeny=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.hostsproxyheaders=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.isdevelopment=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.permissionspolicy=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.publickey=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.referrerpolicy=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.sslforcehost=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.sslhost=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.sslproxyheaders.name0=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.sslproxyheaders.name1=foobar"
|
||||
- "traefik.http.middlewares.middleware12.headers.sslredirect=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.ssltemporaryredirect=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.stsincludesubdomains=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.stspreload=true"
|
||||
- "traefik.http.middlewares.middleware12.headers.stsseconds=42"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy=true"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.depth=42"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.excludedips=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.ipstrategy.ipv6subnet=42"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.rejectstatuscode=42"
|
||||
- "traefik.http.middlewares.middleware13.ipallowlist.sourcerange=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy=true"
|
||||
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.depth=42"
|
||||
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.excludedips=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware14.ipwhitelist.ipstrategy.ipv6subnet=42"
|
||||
- "traefik.http.middlewares.middleware14.ipwhitelist.sourcerange=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.amount=42"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.depth=42"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.ipv6subnet=42"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.requestheadername=foobar"
|
||||
- "traefik.http.middlewares.middleware15.inflightreq.sourcecriterion.requesthost=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.commonname=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.country=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.domaincomponent=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.locality=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.organization=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.province=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.issuer.serialnumber=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.notafter=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.notbefore=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.sans=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.serialnumber=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.commonname=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.country=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.domaincomponent=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.locality=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.organization=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.organizationalunit=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.province=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.info.subject.serialnumber=true"
|
||||
- "traefik.http.middlewares.middleware16.passtlsclientcert.pem=true"
|
||||
- "traefik.http.middlewares.middleware17.plugin.pluginconf0.name0=foobar"
|
||||
- "traefik.http.middlewares.middleware17.plugin.pluginconf0.name1=foobar"
|
||||
- "traefik.http.middlewares.middleware17.plugin.pluginconf1.name0=foobar"
|
||||
- "traefik.http.middlewares.middleware17.plugin.pluginconf1.name1=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.average=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.burst=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.period=42s"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.db=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.dialtimeout=42s"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.endpoints=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.maxactiveconns=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.minidleconns=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.password=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.poolsize=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.readtimeout=42s"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.ca=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.cert=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.insecureskipverify=true"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.tls.key=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.username=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.redis.writetimeout=42s"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.depth=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.ipv6subnet=42"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.requestheadername=foobar"
|
||||
- "traefik.http.middlewares.middleware18.ratelimit.sourcecriterion.requesthost=true"
|
||||
- "traefik.http.middlewares.middleware19.redirectregex.permanent=true"
|
||||
- "traefik.http.middlewares.middleware19.redirectregex.regex=foobar"
|
||||
- "traefik.http.middlewares.middleware19.redirectregex.replacement=foobar"
|
||||
- "traefik.http.middlewares.middleware20.redirectscheme.permanent=true"
|
||||
- "traefik.http.middlewares.middleware20.redirectscheme.port=foobar"
|
||||
- "traefik.http.middlewares.middleware20.redirectscheme.scheme=foobar"
|
||||
- "traefik.http.middlewares.middleware21.replacepath.path=foobar"
|
||||
- "traefik.http.middlewares.middleware22.replacepathregex.regex=foobar"
|
||||
- "traefik.http.middlewares.middleware22.replacepathregex.replacement=foobar"
|
||||
- "traefik.http.middlewares.middleware23.retry.attempts=42"
|
||||
- "traefik.http.middlewares.middleware23.retry.initialinterval=42s"
|
||||
- "traefik.http.middlewares.middleware24.stripprefix.forceslash=true"
|
||||
- "traefik.http.middlewares.middleware24.stripprefix.prefixes=foobar, foobar"
|
||||
- "traefik.http.middlewares.middleware25.stripprefixregex.regex=foobar, foobar"
|
||||
- "traefik.http.routers.router0.entrypoints=foobar, foobar"
|
||||
- "traefik.http.routers.router0.middlewares=foobar, foobar"
|
||||
- "traefik.http.routers.router0.observability.accesslogs=true"
|
||||
- "traefik.http.routers.router0.observability.metrics=true"
|
||||
- "traefik.http.routers.router0.observability.traceverbosity=foobar"
|
||||
- "traefik.http.routers.router0.observability.tracing=true"
|
||||
- "traefik.http.routers.router0.priority=42"
|
||||
- "traefik.http.routers.router0.rule=foobar"
|
||||
- "traefik.http.routers.router0.rulesyntax=foobar"
|
||||
- "traefik.http.routers.router0.service=foobar"
|
||||
- "traefik.http.routers.router0.tls=true"
|
||||
- "traefik.http.routers.router0.tls.certresolver=foobar"
|
||||
- "traefik.http.routers.router0.tls.domains[0].main=foobar"
|
||||
- "traefik.http.routers.router0.tls.domains[0].sans=foobar, foobar"
|
||||
- "traefik.http.routers.router0.tls.domains[1].main=foobar"
|
||||
- "traefik.http.routers.router0.tls.domains[1].sans=foobar, foobar"
|
||||
- "traefik.http.routers.router0.tls.options=foobar"
|
||||
- "traefik.http.routers.router1.entrypoints=foobar, foobar"
|
||||
- "traefik.http.routers.router1.middlewares=foobar, foobar"
|
||||
- "traefik.http.routers.router1.observability.accesslogs=true"
|
||||
- "traefik.http.routers.router1.observability.metrics=true"
|
||||
- "traefik.http.routers.router1.observability.traceverbosity=foobar"
|
||||
- "traefik.http.routers.router1.observability.tracing=true"
|
||||
- "traefik.http.routers.router1.priority=42"
|
||||
- "traefik.http.routers.router1.rule=foobar"
|
||||
- "traefik.http.routers.router1.rulesyntax=foobar"
|
||||
- "traefik.http.routers.router1.service=foobar"
|
||||
- "traefik.http.routers.router1.tls=true"
|
||||
- "traefik.http.routers.router1.tls.certresolver=foobar"
|
||||
- "traefik.http.routers.router1.tls.domains[0].main=foobar"
|
||||
- "traefik.http.routers.router1.tls.domains[0].sans=foobar, foobar"
|
||||
- "traefik.http.routers.router1.tls.domains[1].main=foobar"
|
||||
- "traefik.http.routers.router1.tls.domains[1].sans=foobar, foobar"
|
||||
- "traefik.http.routers.router1.tls.options=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.followredirects=true"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.headers.name0=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.headers.name1=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.hostname=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.interval=42s"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.method=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.mode=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.path=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.port=42"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.scheme=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.status=42"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.timeout=42s"
|
||||
- "traefik.http.services.service03.loadbalancer.healthcheck.unhealthyinterval=42s"
|
||||
- "traefik.http.services.service03.loadbalancer.passhostheader=true"
|
||||
- "traefik.http.services.service03.loadbalancer.passivehealthcheck.failurewindow=42s"
|
||||
- "traefik.http.services.service03.loadbalancer.passivehealthcheck.maxfailedattempts=42"
|
||||
- "traefik.http.services.service03.loadbalancer.responseforwarding.flushinterval=42s"
|
||||
- "traefik.http.services.service03.loadbalancer.serverstransport=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky=true"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie=true"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.domain=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.httponly=true"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.maxage=42"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.name=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.path=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.samesite=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.sticky.cookie.secure=true"
|
||||
- "traefik.http.services.service03.loadbalancer.strategy=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.server.port=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.server.preservepath=true"
|
||||
- "traefik.http.services.service03.loadbalancer.server.scheme=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.server.url=foobar"
|
||||
- "traefik.http.services.service03.loadbalancer.server.weight=42"
|
||||
- "traefik.tcp.middlewares.tcpmiddleware01.ipallowlist.sourcerange=foobar, foobar"
|
||||
- "traefik.tcp.middlewares.tcpmiddleware02.ipwhitelist.sourcerange=foobar, foobar"
|
||||
- "traefik.tcp.middlewares.tcpmiddleware03.inflightconn.amount=42"
|
||||
- "traefik.tcp.routers.tcprouter0.entrypoints=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.middlewares=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.priority=42"
|
||||
- "traefik.tcp.routers.tcprouter0.rule=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.rulesyntax=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.service=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls=true"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.certresolver=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.domains[0].main=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.domains[0].sans=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.domains[1].main=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.domains[1].sans=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.options=foobar"
|
||||
- "traefik.tcp.routers.tcprouter0.tls.passthrough=true"
|
||||
- "traefik.tcp.routers.tcprouter1.entrypoints=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.middlewares=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.priority=42"
|
||||
- "traefik.tcp.routers.tcprouter1.rule=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.rulesyntax=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.service=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls=true"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.certresolver=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.domains[0].main=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.domains[0].sans=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.domains[1].main=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.domains[1].sans=foobar, foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.options=foobar"
|
||||
- "traefik.tcp.routers.tcprouter1.tls.passthrough=true"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.proxyprotocol=true"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.proxyprotocol.version=42"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.serverstransport=foobar"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.terminationdelay=42"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.server.port=foobar"
|
||||
- "traefik.tcp.services.tcpservice01.loadbalancer.server.tls=true"
|
||||
- "traefik.tls.stores.store0.defaultgeneratedcert.domain.main=foobar"
|
||||
- "traefik.tls.stores.store0.defaultgeneratedcert.domain.sans=foobar, foobar"
|
||||
- "traefik.tls.stores.store0.defaultgeneratedcert.resolver=foobar"
|
||||
- "traefik.tls.stores.store1.defaultgeneratedcert.domain.main=foobar"
|
||||
- "traefik.tls.stores.store1.defaultgeneratedcert.domain.sans=foobar, foobar"
|
||||
- "traefik.tls.stores.store1.defaultgeneratedcert.resolver=foobar"
|
||||
- "traefik.udp.routers.udprouter0.entrypoints=foobar, foobar"
|
||||
- "traefik.udp.routers.udprouter0.service=foobar"
|
||||
- "traefik.udp.routers.udprouter1.entrypoints=foobar, foobar"
|
||||
- "traefik.udp.routers.udprouter1.service=foobar"
|
||||
- "traefik.udp.services.udpservice01.loadbalancer.server.port=foobar"
|
||||
- "ingress.http.middlewares.middleware01.addprefix.prefix=foobar"
|
||||
- "ingress.http.middlewares.middleware02.basicauth.headerfield=foobar"
|
||||
- "ingress.http.middlewares.middleware02.basicauth.realm=foobar"
|
||||
- "ingress.http.middlewares.middleware02.basicauth.removeheader=true"
|
||||
- "ingress.http.middlewares.middleware02.basicauth.users=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware02.basicauth.usersfile=foobar"
|
||||
- "ingress.http.middlewares.middleware03.buffering.maxrequestbodybytes=42"
|
||||
- "ingress.http.middlewares.middleware03.buffering.maxresponsebodybytes=42"
|
||||
- "ingress.http.middlewares.middleware03.buffering.memrequestbodybytes=42"
|
||||
- "ingress.http.middlewares.middleware03.buffering.memresponsebodybytes=42"
|
||||
- "ingress.http.middlewares.middleware03.buffering.retryexpression=foobar"
|
||||
- "ingress.http.middlewares.middleware04.chain.middlewares=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware05.circuitbreaker.checkperiod=42s"
|
||||
- "ingress.http.middlewares.middleware05.circuitbreaker.expression=foobar"
|
||||
- "ingress.http.middlewares.middleware05.circuitbreaker.fallbackduration=42s"
|
||||
- "ingress.http.middlewares.middleware05.circuitbreaker.recoveryduration=42s"
|
||||
- "ingress.http.middlewares.middleware05.circuitbreaker.responsecode=42"
|
||||
- "ingress.http.middlewares.middleware06.compress=true"
|
||||
- "ingress.http.middlewares.middleware06.compress.defaultencoding=foobar"
|
||||
- "ingress.http.middlewares.middleware06.compress.encodings=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware06.compress.excludedcontenttypes=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware06.compress.includedcontenttypes=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware06.compress.minresponsebodybytes=42"
|
||||
- "ingress.http.middlewares.middleware07.contenttype=true"
|
||||
- "ingress.http.middlewares.middleware07.contenttype.autodetect=true"
|
||||
- "ingress.http.middlewares.middleware08.digestauth.headerfield=foobar"
|
||||
- "ingress.http.middlewares.middleware08.digestauth.realm=foobar"
|
||||
- "ingress.http.middlewares.middleware08.digestauth.removeheader=true"
|
||||
- "ingress.http.middlewares.middleware08.digestauth.users=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware08.digestauth.usersfile=foobar"
|
||||
- "ingress.http.middlewares.middleware09.errors.query=foobar"
|
||||
- "ingress.http.middlewares.middleware09.errors.service=foobar"
|
||||
- "ingress.http.middlewares.middleware09.errors.status=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware09.errors.statusrewrites.name0=42"
|
||||
- "ingress.http.middlewares.middleware09.errors.statusrewrites.name1=42"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.addauthcookiestoresponse=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.address=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.authrequestheaders=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.authresponseheaders=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.authresponseheadersregex=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.forwardbody=true"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.headerfield=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.maxbodysize=42"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.maxresponsebodysize=42"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.preservelocationheader=true"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.preserverequestmethod=true"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.tls.ca=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.tls.caoptional=true"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.tls.cert=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.tls.insecureskipverify=true"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.tls.key=foobar"
|
||||
- "ingress.http.middlewares.middleware10.forwardauth.trustforwardheader=true"
|
||||
- "ingress.http.middlewares.middleware11.grpcweb.alloworigins=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolallowcredentials=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolallowheaders=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolallowmethods=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolalloworiginlist=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolalloworiginlistregex=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolexposeheaders=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.accesscontrolmaxage=42"
|
||||
- "ingress.http.middlewares.middleware12.headers.addvaryheader=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.allowedhosts=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.browserxssfilter=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.contentsecuritypolicy=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.contentsecuritypolicyreportonly=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.contenttypenosniff=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.custombrowserxssvalue=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.customframeoptionsvalue=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.customrequestheaders.name0=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.customrequestheaders.name1=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.customresponseheaders.name0=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.customresponseheaders.name1=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.featurepolicy=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.forcestsheader=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.framedeny=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.hostsproxyheaders=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.isdevelopment=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.permissionspolicy=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.publickey=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.referrerpolicy=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.sslforcehost=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.sslhost=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.sslproxyheaders.name0=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.sslproxyheaders.name1=foobar"
|
||||
- "ingress.http.middlewares.middleware12.headers.sslredirect=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.ssltemporaryredirect=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.stsincludesubdomains=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.stspreload=true"
|
||||
- "ingress.http.middlewares.middleware12.headers.stsseconds=42"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy=true"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.depth=42"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.excludedips=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.ipstrategy.ipv6subnet=42"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.rejectstatuscode=42"
|
||||
- "ingress.http.middlewares.middleware13.ipallowlist.sourcerange=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy=true"
|
||||
- "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.depth=42"
|
||||
- "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.excludedips=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware14.ipwhitelist.ipstrategy.ipv6subnet=42"
|
||||
- "ingress.http.middlewares.middleware14.ipwhitelist.sourcerange=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.amount=42"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.depth=42"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.ipstrategy.ipv6subnet=42"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.requestheadername=foobar"
|
||||
- "ingress.http.middlewares.middleware15.inflightreq.sourcecriterion.requesthost=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.commonname=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.country=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.domaincomponent=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.locality=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.organization=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.province=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.issuer.serialnumber=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.notafter=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.notbefore=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.sans=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.serialnumber=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.commonname=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.country=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.domaincomponent=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.locality=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.organization=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.organizationalunit=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.province=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.info.subject.serialnumber=true"
|
||||
- "ingress.http.middlewares.middleware16.passtlsclientcert.pem=true"
|
||||
- "ingress.http.middlewares.middleware17.plugin.pluginconf0.name0=foobar"
|
||||
- "ingress.http.middlewares.middleware17.plugin.pluginconf0.name1=foobar"
|
||||
- "ingress.http.middlewares.middleware17.plugin.pluginconf1.name0=foobar"
|
||||
- "ingress.http.middlewares.middleware17.plugin.pluginconf1.name1=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.average=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.burst=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.period=42s"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.db=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.dialtimeout=42s"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.endpoints=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.maxactiveconns=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.minidleconns=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.password=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.poolsize=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.readtimeout=42s"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.tls.ca=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.tls.cert=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.tls.insecureskipverify=true"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.tls.key=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.username=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.redis.writetimeout=42s"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.depth=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.excludedips=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.ipstrategy.ipv6subnet=42"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.requestheadername=foobar"
|
||||
- "ingress.http.middlewares.middleware18.ratelimit.sourcecriterion.requesthost=true"
|
||||
- "ingress.http.middlewares.middleware19.redirectregex.permanent=true"
|
||||
- "ingress.http.middlewares.middleware19.redirectregex.regex=foobar"
|
||||
- "ingress.http.middlewares.middleware19.redirectregex.replacement=foobar"
|
||||
- "ingress.http.middlewares.middleware20.redirectscheme.permanent=true"
|
||||
- "ingress.http.middlewares.middleware20.redirectscheme.port=foobar"
|
||||
- "ingress.http.middlewares.middleware20.redirectscheme.scheme=foobar"
|
||||
- "ingress.http.middlewares.middleware21.replacepath.path=foobar"
|
||||
- "ingress.http.middlewares.middleware22.replacepathregex.regex=foobar"
|
||||
- "ingress.http.middlewares.middleware22.replacepathregex.replacement=foobar"
|
||||
- "ingress.http.middlewares.middleware23.retry.attempts=42"
|
||||
- "ingress.http.middlewares.middleware23.retry.initialinterval=42s"
|
||||
- "ingress.http.middlewares.middleware24.stripprefix.forceslash=true"
|
||||
- "ingress.http.middlewares.middleware24.stripprefix.prefixes=foobar, foobar"
|
||||
- "ingress.http.middlewares.middleware25.stripprefixregex.regex=foobar, foobar"
|
||||
- "ingress.http.routers.router0.entrypoints=foobar, foobar"
|
||||
- "ingress.http.routers.router0.middlewares=foobar, foobar"
|
||||
- "ingress.http.routers.router0.observability.accesslogs=true"
|
||||
- "ingress.http.routers.router0.observability.metrics=true"
|
||||
- "ingress.http.routers.router0.observability.traceverbosity=foobar"
|
||||
- "ingress.http.routers.router0.observability.tracing=true"
|
||||
- "ingress.http.routers.router0.priority=42"
|
||||
- "ingress.http.routers.router0.rule=foobar"
|
||||
- "ingress.http.routers.router0.rulesyntax=foobar"
|
||||
- "ingress.http.routers.router0.service=foobar"
|
||||
- "ingress.http.routers.router0.tls=true"
|
||||
- "ingress.http.routers.router0.tls.certresolver=foobar"
|
||||
- "ingress.http.routers.router0.tls.domains[0].main=foobar"
|
||||
- "ingress.http.routers.router0.tls.domains[0].sans=foobar, foobar"
|
||||
- "ingress.http.routers.router0.tls.domains[1].main=foobar"
|
||||
- "ingress.http.routers.router0.tls.domains[1].sans=foobar, foobar"
|
||||
- "ingress.http.routers.router0.tls.options=foobar"
|
||||
- "ingress.http.routers.router1.entrypoints=foobar, foobar"
|
||||
- "ingress.http.routers.router1.middlewares=foobar, foobar"
|
||||
- "ingress.http.routers.router1.observability.accesslogs=true"
|
||||
- "ingress.http.routers.router1.observability.metrics=true"
|
||||
- "ingress.http.routers.router1.observability.traceverbosity=foobar"
|
||||
- "ingress.http.routers.router1.observability.tracing=true"
|
||||
- "ingress.http.routers.router1.priority=42"
|
||||
- "ingress.http.routers.router1.rule=foobar"
|
||||
- "ingress.http.routers.router1.rulesyntax=foobar"
|
||||
- "ingress.http.routers.router1.service=foobar"
|
||||
- "ingress.http.routers.router1.tls=true"
|
||||
- "ingress.http.routers.router1.tls.certresolver=foobar"
|
||||
- "ingress.http.routers.router1.tls.domains[0].main=foobar"
|
||||
- "ingress.http.routers.router1.tls.domains[0].sans=foobar, foobar"
|
||||
- "ingress.http.routers.router1.tls.domains[1].main=foobar"
|
||||
- "ingress.http.routers.router1.tls.domains[1].sans=foobar, foobar"
|
||||
- "ingress.http.routers.router1.tls.options=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.followredirects=true"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.headers.name0=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.headers.name1=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.hostname=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.interval=42s"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.method=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.mode=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.path=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.port=42"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.scheme=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.status=42"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.timeout=42s"
|
||||
- "ingress.http.services.service03.loadbalancer.healthcheck.unhealthyinterval=42s"
|
||||
- "ingress.http.services.service03.loadbalancer.passhostheader=true"
|
||||
- "ingress.http.services.service03.loadbalancer.passivehealthcheck.failurewindow=42s"
|
||||
- "ingress.http.services.service03.loadbalancer.passivehealthcheck.maxfailedattempts=42"
|
||||
- "ingress.http.services.service03.loadbalancer.responseforwarding.flushinterval=42s"
|
||||
- "ingress.http.services.service03.loadbalancer.serverstransport=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky=true"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie=true"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.domain=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.httponly=true"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.maxage=42"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.name=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.path=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.samesite=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.sticky.cookie.secure=true"
|
||||
- "ingress.http.services.service03.loadbalancer.strategy=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.server.port=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.server.preservepath=true"
|
||||
- "ingress.http.services.service03.loadbalancer.server.scheme=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.server.url=foobar"
|
||||
- "ingress.http.services.service03.loadbalancer.server.weight=42"
|
||||
- "ingress.tcp.middlewares.tcpmiddleware01.ipallowlist.sourcerange=foobar, foobar"
|
||||
- "ingress.tcp.middlewares.tcpmiddleware02.ipwhitelist.sourcerange=foobar, foobar"
|
||||
- "ingress.tcp.middlewares.tcpmiddleware03.inflightconn.amount=42"
|
||||
- "ingress.tcp.routers.tcprouter0.entrypoints=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.middlewares=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.priority=42"
|
||||
- "ingress.tcp.routers.tcprouter0.rule=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.rulesyntax=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.service=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls=true"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.certresolver=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.domains[0].main=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.domains[0].sans=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.domains[1].main=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.domains[1].sans=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.options=foobar"
|
||||
- "ingress.tcp.routers.tcprouter0.tls.passthrough=true"
|
||||
- "ingress.tcp.routers.tcprouter1.entrypoints=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.middlewares=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.priority=42"
|
||||
- "ingress.tcp.routers.tcprouter1.rule=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.rulesyntax=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.service=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls=true"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.certresolver=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.domains[0].main=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.domains[0].sans=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.domains[1].main=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.domains[1].sans=foobar, foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.options=foobar"
|
||||
- "ingress.tcp.routers.tcprouter1.tls.passthrough=true"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.proxyprotocol=true"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.proxyprotocol.version=42"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.serverstransport=foobar"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.terminationdelay=42"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.server.port=foobar"
|
||||
- "ingress.tcp.services.tcpservice01.loadbalancer.server.tls=true"
|
||||
- "ingress.tls.stores.store0.defaultgeneratedcert.domain.main=foobar"
|
||||
- "ingress.tls.stores.store0.defaultgeneratedcert.domain.sans=foobar, foobar"
|
||||
- "ingress.tls.stores.store0.defaultgeneratedcert.resolver=foobar"
|
||||
- "ingress.tls.stores.store1.defaultgeneratedcert.domain.main=foobar"
|
||||
- "ingress.tls.stores.store1.defaultgeneratedcert.domain.sans=foobar, foobar"
|
||||
- "ingress.tls.stores.store1.defaultgeneratedcert.resolver=foobar"
|
||||
- "ingress.udp.routers.udprouter0.entrypoints=foobar, foobar"
|
||||
- "ingress.udp.routers.udprouter0.service=foobar"
|
||||
- "ingress.udp.routers.udprouter1.entrypoints=foobar, foobar"
|
||||
- "ingress.udp.routers.udprouter1.service=foobar"
|
||||
- "ingress.udp.services.udpservice01.loadbalancer.server.port=foobar"
|
||||
|
||||
@@ -3,9 +3,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressroutes.traefik.io
|
||||
name: ingressroutes.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRoute
|
||||
listKind: IngressRouteList
|
||||
@@ -42,7 +42,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
@@ -55,7 +55,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
description: IngressRouteRef is a reference to an IngressRoute resource.
|
||||
properties:
|
||||
@@ -87,12 +87,12 @@ spec:
|
||||
match:
|
||||
description: |-
|
||||
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
|
||||
middlewares:
|
||||
description: |-
|
||||
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:
|
||||
description: MiddlewareRef is a reference to a Middleware
|
||||
resource.
|
||||
@@ -112,7 +112,7 @@ spec:
|
||||
observability:
|
||||
description: |-
|
||||
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:
|
||||
accessLogs:
|
||||
description: AccessLogs enables access logs for this router.
|
||||
@@ -135,13 +135,13 @@ spec:
|
||||
priority:
|
||||
description: |-
|
||||
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
|
||||
type: integer
|
||||
services:
|
||||
description: |-
|
||||
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:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -220,7 +220,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -243,12 +243,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -324,7 +324,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -384,7 +384,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -395,7 +395,7 @@ spec:
|
||||
syntax:
|
||||
description: |-
|
||||
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.
|
||||
type: string
|
||||
@@ -406,18 +406,18 @@ spec:
|
||||
tls:
|
||||
description: |-
|
||||
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:
|
||||
certResolver:
|
||||
description: |-
|
||||
CertResolver defines the name of the certificate resolver to use.
|
||||
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
|
||||
domains:
|
||||
description: |-
|
||||
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:
|
||||
description: Domain holds a domain name with SANs.
|
||||
properties:
|
||||
@@ -436,17 +436,17 @@ spec:
|
||||
description: |-
|
||||
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
|
||||
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:
|
||||
name:
|
||||
description: |-
|
||||
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
|
||||
namespace:
|
||||
description: |-
|
||||
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
|
||||
required:
|
||||
- name
|
||||
@@ -463,12 +463,12 @@ spec:
|
||||
name:
|
||||
description: |-
|
||||
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
|
||||
namespace:
|
||||
description: |-
|
||||
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
|
||||
required:
|
||||
- name
|
||||
@@ -489,9 +489,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressroutetcps.traefik.io
|
||||
name: ingressroutetcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRouteTCP
|
||||
listKind: IngressRouteTCPList
|
||||
@@ -528,7 +528,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
@@ -545,7 +545,7 @@ spec:
|
||||
match:
|
||||
description: |-
|
||||
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
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references to MiddlewareTCP
|
||||
@@ -569,7 +569,7 @@ spec:
|
||||
priority:
|
||||
description: |-
|
||||
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
|
||||
type: integer
|
||||
services:
|
||||
@@ -611,7 +611,7 @@ spec:
|
||||
proxyProtocol:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
@@ -655,7 +655,7 @@ spec:
|
||||
syntax:
|
||||
description: |-
|
||||
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.
|
||||
enum:
|
||||
@@ -669,18 +669,18 @@ spec:
|
||||
tls:
|
||||
description: |-
|
||||
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:
|
||||
certResolver:
|
||||
description: |-
|
||||
CertResolver defines the name of the certificate resolver to use.
|
||||
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
|
||||
domains:
|
||||
description: |-
|
||||
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:
|
||||
description: Domain holds a domain name with SANs.
|
||||
properties:
|
||||
@@ -699,7 +699,7 @@ spec:
|
||||
description: |-
|
||||
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
|
||||
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:
|
||||
name:
|
||||
description: Name defines the name of the referenced Traefik
|
||||
@@ -752,9 +752,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressrouteudps.traefik.io
|
||||
name: ingressrouteudps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRouteUDP
|
||||
listKind: IngressRouteUDPList
|
||||
@@ -791,7 +791,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
@@ -868,9 +868,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: middlewares.traefik.io
|
||||
name: middlewares.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: Middleware
|
||||
listKind: MiddlewareList
|
||||
@@ -883,7 +883,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -909,7 +909,7 @@ spec:
|
||||
description: |-
|
||||
AddPrefix holds the add prefix middleware configuration.
|
||||
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:
|
||||
prefix:
|
||||
description: |-
|
||||
@@ -924,17 +924,17 @@ spec:
|
||||
description: |-
|
||||
BasicAuth holds the basic auth middleware configuration.
|
||||
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:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
realm:
|
||||
description: |-
|
||||
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
|
||||
removeHeader:
|
||||
description: |-
|
||||
@@ -950,7 +950,7 @@ spec:
|
||||
description: |-
|
||||
Buffering holds the buffering middleware configuration.
|
||||
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:
|
||||
maxRequestBodyBytes:
|
||||
description: |-
|
||||
@@ -982,14 +982,14 @@ spec:
|
||||
description: |-
|
||||
RetryExpression defines the retry conditions.
|
||||
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: object
|
||||
chain:
|
||||
description: |-
|
||||
Chain holds the configuration of the chain 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:
|
||||
middlewares:
|
||||
description: Middlewares is the list of MiddlewareRef which composes
|
||||
@@ -1052,7 +1052,7 @@ spec:
|
||||
description: |-
|
||||
Compress holds the compress middleware configuration.
|
||||
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:
|
||||
defaultEncoding:
|
||||
description: DefaultEncoding specifies the default encoding if
|
||||
@@ -1103,17 +1103,17 @@ spec:
|
||||
description: |-
|
||||
DigestAuth holds the digest auth middleware configuration.
|
||||
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:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
realm:
|
||||
description: |-
|
||||
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
|
||||
removeHeader:
|
||||
description: RemoveHeader defines whether to remove the authorization
|
||||
@@ -1161,7 +1161,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
query:
|
||||
description: |-
|
||||
@@ -1173,7 +1173,7 @@ spec:
|
||||
service:
|
||||
description: |-
|
||||
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:
|
||||
healthCheck:
|
||||
description: Healthcheck defines health checks for ExternalName
|
||||
@@ -1249,7 +1249,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references to
|
||||
@@ -1272,12 +1272,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -1353,7 +1353,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -1412,7 +1412,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -1442,7 +1442,7 @@ spec:
|
||||
description: |-
|
||||
ForwardAuth holds the forward auth middleware configuration.
|
||||
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:
|
||||
addAuthCookiesToResponse:
|
||||
description: AddAuthCookiesToResponse defines the list of cookies
|
||||
@@ -1470,7 +1470,7 @@ spec:
|
||||
authResponseHeadersRegex:
|
||||
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.
|
||||
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
|
||||
authSigninURL:
|
||||
description: AuthSigninURL specifies the URL to redirect to when
|
||||
@@ -1483,7 +1483,7 @@ spec:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
maxBodySize:
|
||||
description: MaxBodySize defines the maximum body size in bytes
|
||||
@@ -1550,7 +1550,7 @@ spec:
|
||||
description: |-
|
||||
Headers holds the headers middleware configuration.
|
||||
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:
|
||||
accessControlAllowCredentials:
|
||||
description: AccessControlAllowCredentials defines whether the
|
||||
@@ -1722,7 +1722,7 @@ spec:
|
||||
description: |-
|
||||
InFlightReq holds the in-flight request middleware configuration.
|
||||
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:
|
||||
amount:
|
||||
description: |-
|
||||
@@ -1736,12 +1736,12 @@ spec:
|
||||
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 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:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -1777,12 +1777,12 @@ spec:
|
||||
description: |-
|
||||
IPAllowList holds the IP allowlist middleware configuration.
|
||||
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:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -1820,7 +1820,7 @@ spec:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -1851,7 +1851,7 @@ spec:
|
||||
description: |-
|
||||
PassTLSClientCert holds the pass TLS client cert middleware configuration.
|
||||
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:
|
||||
info:
|
||||
description: Info selects the specific client certificate details
|
||||
@@ -1954,13 +1954,13 @@ spec:
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
description: |-
|
||||
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
|
||||
rateLimit:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
average:
|
||||
description: |-
|
||||
@@ -2079,7 +2079,7 @@ spec:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -2115,7 +2115,7 @@ spec:
|
||||
description: |-
|
||||
RedirectRegex holds the redirect regex middleware configuration.
|
||||
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:
|
||||
permanent:
|
||||
description: Permanent defines whether the redirection is permanent
|
||||
@@ -2134,7 +2134,7 @@ spec:
|
||||
description: |-
|
||||
RedirectScheme holds the redirect scheme middleware configuration.
|
||||
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:
|
||||
permanent:
|
||||
description: |-
|
||||
@@ -2152,7 +2152,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
path:
|
||||
description: Path defines the path to use as replacement in the
|
||||
@@ -2163,7 +2163,7 @@ spec:
|
||||
description: |-
|
||||
ReplacePathRegex holds the replace path regex middleware configuration.
|
||||
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:
|
||||
regex:
|
||||
description: Regex defines the regular expression used to match
|
||||
@@ -2179,7 +2179,7 @@ spec:
|
||||
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.
|
||||
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:
|
||||
attempts:
|
||||
description: Attempts defines how many times the request should
|
||||
@@ -2236,7 +2236,7 @@ spec:
|
||||
description: |-
|
||||
StripPrefix holds the strip prefix middleware configuration.
|
||||
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:
|
||||
forceSlash:
|
||||
description: |-
|
||||
@@ -2255,7 +2255,7 @@ spec:
|
||||
description: |-
|
||||
StripPrefixRegex holds the strip prefix regex middleware configuration.
|
||||
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:
|
||||
regex:
|
||||
description: Regex defines the regular expression to match the
|
||||
@@ -2277,9 +2277,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: middlewaretcps.traefik.io
|
||||
name: middlewaretcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: MiddlewareTCP
|
||||
listKind: MiddlewareTCPList
|
||||
@@ -2292,7 +2292,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2329,7 +2329,7 @@ spec:
|
||||
description: |-
|
||||
IPAllowList defines the IPAllowList middleware configuration.
|
||||
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:
|
||||
sourceRange:
|
||||
description: SourceRange defines the allowed IPs (or ranges of
|
||||
@@ -2342,7 +2342,7 @@ spec:
|
||||
description: |-
|
||||
IPWhiteList defines the IPWhiteList middleware configuration.
|
||||
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.
|
||||
properties:
|
||||
@@ -2366,9 +2366,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: serverstransports.traefik.io
|
||||
name: serverstransports.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: ServersTransport
|
||||
listKind: ServersTransportList
|
||||
@@ -2383,7 +2383,7 @@ spec:
|
||||
ServersTransport is the CRD implementation of a ServersTransport.
|
||||
If no serversTransport is specified, the default@internal will be used.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2550,9 +2550,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: serverstransporttcps.traefik.io
|
||||
name: serverstransporttcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: ServersTransportTCP
|
||||
listKind: ServersTransportTCPList
|
||||
@@ -2567,7 +2567,7 @@ spec:
|
||||
ServersTransportTCP is the CRD implementation of a TCPServersTransport.
|
||||
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.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2707,9 +2707,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: tlsoptions.traefik.io
|
||||
name: tlsoptions.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TLSOption
|
||||
listKind: TLSOptionList
|
||||
@@ -2722,7 +2722,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2747,14 +2747,14 @@ spec:
|
||||
alpnProtocols:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
cipherSuites:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
@@ -2782,7 +2782,7 @@ spec:
|
||||
curvePreferences:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
@@ -2826,9 +2826,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: tlsstores.traefik.io
|
||||
name: tlsstores.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TLSStore
|
||||
listKind: TLSStoreList
|
||||
@@ -2843,7 +2843,7 @@ spec:
|
||||
TLSStore is the CRD implementation of a Traefik TLS Store.
|
||||
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.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2923,25 +2923,25 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: traefikservices.traefik.io
|
||||
name: ingressservices.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TraefikService
|
||||
listKind: TraefikServiceList
|
||||
plural: traefikservices
|
||||
singular: traefikservice
|
||||
kind: IngressService
|
||||
listKind: IngressServiceList
|
||||
plural: ingressservices
|
||||
singular: ingressservice
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
TraefikService is the CRD implementation of a Traefik Service.
|
||||
TraefikService object allows to:
|
||||
IngressService is the CRD implementation of a Traefik Service.
|
||||
IngressService object allows to:
|
||||
- Apply weight to Services on load-balancing
|
||||
- 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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -2961,7 +2961,7 @@ spec:
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: TraefikServiceSpec defines the desired state of a TraefikService.
|
||||
description: IngressServiceSpec defines the desired state of a IngressService.
|
||||
properties:
|
||||
highestRandomWeight:
|
||||
description: HighestRandomWeight defines the highest random weight
|
||||
@@ -2969,7 +2969,7 @@ spec:
|
||||
properties:
|
||||
services:
|
||||
description: Services defines the list of Kubernetes Service and/or
|
||||
TraefikService to load-balance, with weight.
|
||||
IngressService to load-balance, with weight.
|
||||
items:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -3048,7 +3048,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -3071,12 +3071,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -3152,7 +3152,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -3211,7 +3211,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -3297,7 +3297,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
maxBodySize:
|
||||
description: |-
|
||||
@@ -3409,7 +3409,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -3432,12 +3432,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -3518,7 +3518,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -3577,7 +3577,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -3587,12 +3587,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -3667,7 +3667,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -3725,7 +3725,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -3737,7 +3737,7 @@ spec:
|
||||
properties:
|
||||
services:
|
||||
description: Services defines the list of Kubernetes Service and/or
|
||||
TraefikService to load-balance, with weight.
|
||||
IngressService to load-balance, with weight.
|
||||
items:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -3816,7 +3816,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -3839,12 +3839,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -3920,7 +3920,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -3979,7 +3979,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -3990,7 +3990,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
|
||||
@@ -48,12 +48,12 @@ rules:
|
||||
verbs:
|
||||
- update
|
||||
- apiGroups:
|
||||
- traefik.io
|
||||
- hanzo.ai
|
||||
resources:
|
||||
- middlewares
|
||||
- middlewaretcps
|
||||
- ingressroutes
|
||||
- traefikservices
|
||||
- ingressservices
|
||||
- ingressroutetcps
|
||||
- ingressrouteudps
|
||||
- tlsoptions
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: wrr2
|
||||
namespace: default
|
||||
@@ -17,8 +17,8 @@ spec:
|
||||
port: 80
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: wrr1
|
||||
namespace: default
|
||||
@@ -27,15 +27,15 @@ spec:
|
||||
weighted:
|
||||
services:
|
||||
- name: wrr2
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
weight: 1
|
||||
- name: s3
|
||||
weight: 1
|
||||
port: 80
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: mirror1
|
||||
namespace: default
|
||||
@@ -49,12 +49,12 @@ spec:
|
||||
percent: 20
|
||||
port: 80
|
||||
- name: mirror2
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
percent: 20
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: TraefikService
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressService
|
||||
metadata:
|
||||
name: mirror2
|
||||
namespace: default
|
||||
@@ -62,7 +62,7 @@ metadata:
|
||||
spec:
|
||||
mirroring:
|
||||
name: wrr2
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
mirrorBody: true
|
||||
# Optional
|
||||
maxBodySize: 2000000000
|
||||
@@ -74,7 +74,7 @@ spec:
|
||||
port: 80
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: ingressroute
|
||||
@@ -120,12 +120,12 @@ spec:
|
||||
kind: Rule
|
||||
services:
|
||||
- name: wrr1
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
- match: PathPrefix(`/mirrored`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: mirror1
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
# use an empty tls object for TLS with Let's Encrypt
|
||||
tls:
|
||||
secretName: supersecret
|
||||
@@ -134,7 +134,7 @@ spec:
|
||||
namespace: default
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRouteTCP
|
||||
metadata:
|
||||
name: ingressroutetcp.crd
|
||||
@@ -159,7 +159,7 @@ spec:
|
||||
namespace: default
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRouteUDP
|
||||
metadata:
|
||||
name: ingressrouteudp.crd
|
||||
@@ -174,7 +174,7 @@ spec:
|
||||
port: 8080
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: TLSOption
|
||||
metadata:
|
||||
name: tlsoption
|
||||
@@ -200,7 +200,7 @@ spec:
|
||||
- foobar
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: ServersTransport
|
||||
metadata:
|
||||
name: mytransport
|
||||
@@ -224,7 +224,7 @@ spec:
|
||||
disableHTTP2: true
|
||||
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: ServersTransportTCP
|
||||
metadata:
|
||||
name: mytransporttcp
|
||||
|
||||
@@ -3,7 +3,7 @@ kind: GatewayClass
|
||||
metadata:
|
||||
name: my-gateway-class
|
||||
spec:
|
||||
controllerName: traefik.io/gateway-controller
|
||||
controllerName: hanzo.ai/gateway-controller
|
||||
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
@@ -73,8 +73,8 @@ spec:
|
||||
value: /foo
|
||||
|
||||
backendRefs:
|
||||
- group: traefik.io
|
||||
kind: TraefikService
|
||||
- group: hanzo.ai
|
||||
kind: IngressService
|
||||
name: myservice@file
|
||||
weight: 1
|
||||
port: 80
|
||||
|
||||
@@ -4,7 +4,7 @@ metadata:
|
||||
name: my-gateway-class
|
||||
|
||||
spec:
|
||||
controllerName: traefik.io/gateway-controller
|
||||
controllerName: hanzo.ai/gateway-controller
|
||||
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressroutes.traefik.io
|
||||
name: ingressroutes.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRoute
|
||||
listKind: IngressRouteList
|
||||
@@ -43,7 +43,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
@@ -56,7 +56,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
description: IngressRouteRef is a reference to an IngressRoute resource.
|
||||
properties:
|
||||
@@ -88,12 +88,12 @@ spec:
|
||||
match:
|
||||
description: |-
|
||||
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
|
||||
middlewares:
|
||||
description: |-
|
||||
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:
|
||||
description: MiddlewareRef is a reference to a Middleware
|
||||
resource.
|
||||
@@ -113,7 +113,7 @@ spec:
|
||||
observability:
|
||||
description: |-
|
||||
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:
|
||||
accessLogs:
|
||||
description: AccessLogs enables access logs for this router.
|
||||
@@ -136,13 +136,13 @@ spec:
|
||||
priority:
|
||||
description: |-
|
||||
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
|
||||
type: integer
|
||||
services:
|
||||
description: |-
|
||||
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:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -221,7 +221,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -244,12 +244,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -325,7 +325,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -385,7 +385,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -396,7 +396,7 @@ spec:
|
||||
syntax:
|
||||
description: |-
|
||||
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.
|
||||
type: string
|
||||
@@ -407,18 +407,18 @@ spec:
|
||||
tls:
|
||||
description: |-
|
||||
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:
|
||||
certResolver:
|
||||
description: |-
|
||||
CertResolver defines the name of the certificate resolver to use.
|
||||
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
|
||||
domains:
|
||||
description: |-
|
||||
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:
|
||||
description: Domain holds a domain name with SANs.
|
||||
properties:
|
||||
@@ -437,17 +437,17 @@ spec:
|
||||
description: |-
|
||||
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
|
||||
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:
|
||||
name:
|
||||
description: |-
|
||||
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
|
||||
namespace:
|
||||
description: |-
|
||||
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
|
||||
required:
|
||||
- name
|
||||
@@ -464,12 +464,12 @@ spec:
|
||||
name:
|
||||
description: |-
|
||||
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
|
||||
namespace:
|
||||
description: |-
|
||||
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
|
||||
required:
|
||||
- name
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressroutetcps.traefik.io
|
||||
name: ingressroutetcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRouteTCP
|
||||
listKind: IngressRouteTCPList
|
||||
@@ -43,7 +43,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
@@ -60,7 +60,7 @@ spec:
|
||||
match:
|
||||
description: |-
|
||||
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
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references to MiddlewareTCP
|
||||
@@ -84,7 +84,7 @@ spec:
|
||||
priority:
|
||||
description: |-
|
||||
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
|
||||
type: integer
|
||||
services:
|
||||
@@ -126,7 +126,7 @@ spec:
|
||||
proxyProtocol:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
@@ -170,7 +170,7 @@ spec:
|
||||
syntax:
|
||||
description: |-
|
||||
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.
|
||||
enum:
|
||||
@@ -184,18 +184,18 @@ spec:
|
||||
tls:
|
||||
description: |-
|
||||
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:
|
||||
certResolver:
|
||||
description: |-
|
||||
CertResolver defines the name of the certificate resolver to use.
|
||||
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
|
||||
domains:
|
||||
description: |-
|
||||
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:
|
||||
description: Domain holds a domain name with SANs.
|
||||
properties:
|
||||
@@ -214,7 +214,7 @@ spec:
|
||||
description: |-
|
||||
Options defines the reference to a TLSOption, that specifies the parameters of the TLS connection.
|
||||
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:
|
||||
name:
|
||||
description: Name defines the name of the referenced Traefik
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: ingressrouteudps.traefik.io
|
||||
name: ingressrouteudps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: IngressRouteUDP
|
||||
listKind: IngressRouteUDPList
|
||||
@@ -43,7 +43,7 @@ spec:
|
||||
description: |-
|
||||
EntryPoints defines the list of entry point names to bind to.
|
||||
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.
|
||||
items:
|
||||
type: string
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: middlewares.traefik.io
|
||||
name: middlewares.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: Middleware
|
||||
listKind: MiddlewareList
|
||||
@@ -19,7 +19,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -45,7 +45,7 @@ spec:
|
||||
description: |-
|
||||
AddPrefix holds the add prefix middleware configuration.
|
||||
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:
|
||||
prefix:
|
||||
description: |-
|
||||
@@ -60,17 +60,17 @@ spec:
|
||||
description: |-
|
||||
BasicAuth holds the basic auth middleware configuration.
|
||||
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:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
realm:
|
||||
description: |-
|
||||
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
|
||||
removeHeader:
|
||||
description: |-
|
||||
@@ -86,7 +86,7 @@ spec:
|
||||
description: |-
|
||||
Buffering holds the buffering middleware configuration.
|
||||
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:
|
||||
maxRequestBodyBytes:
|
||||
description: |-
|
||||
@@ -118,14 +118,14 @@ spec:
|
||||
description: |-
|
||||
RetryExpression defines the retry conditions.
|
||||
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: object
|
||||
chain:
|
||||
description: |-
|
||||
Chain holds the configuration of the chain 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:
|
||||
middlewares:
|
||||
description: Middlewares is the list of MiddlewareRef which composes
|
||||
@@ -188,7 +188,7 @@ spec:
|
||||
description: |-
|
||||
Compress holds the compress middleware configuration.
|
||||
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:
|
||||
defaultEncoding:
|
||||
description: DefaultEncoding specifies the default encoding if
|
||||
@@ -239,17 +239,17 @@ spec:
|
||||
description: |-
|
||||
DigestAuth holds the digest auth middleware configuration.
|
||||
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:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
realm:
|
||||
description: |-
|
||||
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
|
||||
removeHeader:
|
||||
description: RemoveHeader defines whether to remove the authorization
|
||||
@@ -297,7 +297,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
query:
|
||||
description: |-
|
||||
@@ -309,7 +309,7 @@ spec:
|
||||
service:
|
||||
description: |-
|
||||
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:
|
||||
healthCheck:
|
||||
description: Healthcheck defines health checks for ExternalName
|
||||
@@ -385,7 +385,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references to
|
||||
@@ -408,12 +408,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -489,7 +489,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -548,7 +548,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -578,7 +578,7 @@ spec:
|
||||
description: |-
|
||||
ForwardAuth holds the forward auth middleware configuration.
|
||||
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:
|
||||
addAuthCookiesToResponse:
|
||||
description: AddAuthCookiesToResponse defines the list of cookies
|
||||
@@ -606,7 +606,7 @@ spec:
|
||||
authResponseHeadersRegex:
|
||||
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.
|
||||
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
|
||||
authSigninURL:
|
||||
description: AuthSigninURL specifies the URL to redirect to when
|
||||
@@ -619,7 +619,7 @@ spec:
|
||||
headerField:
|
||||
description: |-
|
||||
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
|
||||
maxBodySize:
|
||||
description: MaxBodySize defines the maximum body size in bytes
|
||||
@@ -686,7 +686,7 @@ spec:
|
||||
description: |-
|
||||
Headers holds the headers middleware configuration.
|
||||
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:
|
||||
accessControlAllowCredentials:
|
||||
description: AccessControlAllowCredentials defines whether the
|
||||
@@ -858,7 +858,7 @@ spec:
|
||||
description: |-
|
||||
InFlightReq holds the in-flight request middleware configuration.
|
||||
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:
|
||||
amount:
|
||||
description: |-
|
||||
@@ -872,12 +872,12 @@ spec:
|
||||
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 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:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -913,12 +913,12 @@ spec:
|
||||
description: |-
|
||||
IPAllowList holds the IP allowlist middleware configuration.
|
||||
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:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -956,7 +956,7 @@ spec:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -987,7 +987,7 @@ spec:
|
||||
description: |-
|
||||
PassTLSClientCert holds the pass TLS client cert middleware configuration.
|
||||
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:
|
||||
info:
|
||||
description: Info selects the specific client certificate details
|
||||
@@ -1090,13 +1090,13 @@ spec:
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
description: |-
|
||||
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
|
||||
rateLimit:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
average:
|
||||
description: |-
|
||||
@@ -1215,7 +1215,7 @@ spec:
|
||||
ipStrategy:
|
||||
description: |-
|
||||
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:
|
||||
depth:
|
||||
description: Depth tells Traefik to use the X-Forwarded-For
|
||||
@@ -1251,7 +1251,7 @@ spec:
|
||||
description: |-
|
||||
RedirectRegex holds the redirect regex middleware configuration.
|
||||
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:
|
||||
permanent:
|
||||
description: Permanent defines whether the redirection is permanent
|
||||
@@ -1270,7 +1270,7 @@ spec:
|
||||
description: |-
|
||||
RedirectScheme holds the redirect scheme middleware configuration.
|
||||
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:
|
||||
permanent:
|
||||
description: |-
|
||||
@@ -1288,7 +1288,7 @@ spec:
|
||||
description: |-
|
||||
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.
|
||||
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:
|
||||
path:
|
||||
description: Path defines the path to use as replacement in the
|
||||
@@ -1299,7 +1299,7 @@ spec:
|
||||
description: |-
|
||||
ReplacePathRegex holds the replace path regex middleware configuration.
|
||||
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:
|
||||
regex:
|
||||
description: Regex defines the regular expression used to match
|
||||
@@ -1315,7 +1315,7 @@ spec:
|
||||
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.
|
||||
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:
|
||||
attempts:
|
||||
description: Attempts defines how many times the request should
|
||||
@@ -1372,7 +1372,7 @@ spec:
|
||||
description: |-
|
||||
StripPrefix holds the strip prefix middleware configuration.
|
||||
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:
|
||||
forceSlash:
|
||||
description: |-
|
||||
@@ -1391,7 +1391,7 @@ spec:
|
||||
description: |-
|
||||
StripPrefixRegex holds the strip prefix regex middleware configuration.
|
||||
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:
|
||||
regex:
|
||||
description: Regex defines the regular expression to match the
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: middlewaretcps.traefik.io
|
||||
name: middlewaretcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: MiddlewareTCP
|
||||
listKind: MiddlewareTCPList
|
||||
@@ -19,7 +19,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -56,7 +56,7 @@ spec:
|
||||
description: |-
|
||||
IPAllowList defines the IPAllowList middleware configuration.
|
||||
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:
|
||||
sourceRange:
|
||||
description: SourceRange defines the allowed IPs (or ranges of
|
||||
@@ -69,7 +69,7 @@ spec:
|
||||
description: |-
|
||||
IPWhiteList defines the IPWhiteList middleware configuration.
|
||||
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.
|
||||
properties:
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: serverstransports.traefik.io
|
||||
name: serverstransports.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: ServersTransport
|
||||
listKind: ServersTransportList
|
||||
@@ -21,7 +21,7 @@ spec:
|
||||
ServersTransport is the CRD implementation of a ServersTransport.
|
||||
If no serversTransport is specified, the default@internal will be used.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: serverstransporttcps.traefik.io
|
||||
name: serverstransporttcps.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: ServersTransportTCP
|
||||
listKind: ServersTransportTCPList
|
||||
@@ -21,7 +21,7 @@ spec:
|
||||
ServersTransportTCP is the CRD implementation of a TCPServersTransport.
|
||||
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.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: tlsoptions.traefik.io
|
||||
name: tlsoptions.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TLSOption
|
||||
listKind: TLSOptionList
|
||||
@@ -19,7 +19,7 @@ spec:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -44,14 +44,14 @@ spec:
|
||||
alpnProtocols:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
cipherSuites:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
@@ -79,7 +79,7 @@ spec:
|
||||
curvePreferences:
|
||||
description: |-
|
||||
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:
|
||||
type: string
|
||||
type: array
|
||||
|
||||
@@ -4,9 +4,9 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: tlsstores.traefik.io
|
||||
name: tlsstores.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TLSStore
|
||||
listKind: TLSStoreList
|
||||
@@ -21,7 +21,7 @@ spec:
|
||||
TLSStore is the CRD implementation of a Traefik TLS Store.
|
||||
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.
|
||||
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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
|
||||
@@ -4,25 +4,25 @@ kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
controller-gen.kubebuilder.io/version: v0.19.0
|
||||
name: traefikservices.traefik.io
|
||||
name: ingressservices.hanzo.ai
|
||||
spec:
|
||||
group: traefik.io
|
||||
group: hanzo.ai
|
||||
names:
|
||||
kind: TraefikService
|
||||
listKind: TraefikServiceList
|
||||
plural: traefikservices
|
||||
singular: traefikservice
|
||||
kind: IngressService
|
||||
listKind: IngressServiceList
|
||||
plural: ingressservices
|
||||
singular: ingressservice
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
TraefikService is the CRD implementation of a Traefik Service.
|
||||
TraefikService object allows to:
|
||||
IngressService is the CRD implementation of a Traefik Service.
|
||||
IngressService object allows to:
|
||||
- Apply weight to Services on load-balancing
|
||||
- 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:
|
||||
apiVersion:
|
||||
description: |-
|
||||
@@ -42,7 +42,7 @@ spec:
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: TraefikServiceSpec defines the desired state of a TraefikService.
|
||||
description: IngressServiceSpec defines the desired state of a IngressService.
|
||||
properties:
|
||||
highestRandomWeight:
|
||||
description: HighestRandomWeight defines the highest random weight
|
||||
@@ -50,7 +50,7 @@ spec:
|
||||
properties:
|
||||
services:
|
||||
description: Services defines the list of Kubernetes Service and/or
|
||||
TraefikService to load-balance, with weight.
|
||||
IngressService to load-balance, with weight.
|
||||
items:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -129,7 +129,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -152,12 +152,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -233,7 +233,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -292,7 +292,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -378,7 +378,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
maxBodySize:
|
||||
description: |-
|
||||
@@ -490,7 +490,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -513,12 +513,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -599,7 +599,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -658,7 +658,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -668,12 +668,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -748,7 +748,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -806,7 +806,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -818,7 +818,7 @@ spec:
|
||||
properties:
|
||||
services:
|
||||
description: Services defines the list of Kubernetes Service and/or
|
||||
TraefikService to load-balance, with weight.
|
||||
IngressService to load-balance, with weight.
|
||||
items:
|
||||
description: Service defines an upstream HTTP service to proxy
|
||||
traffic to.
|
||||
@@ -897,7 +897,7 @@ spec:
|
||||
description: Kind defines the kind of the Service.
|
||||
enum:
|
||||
- Service
|
||||
- TraefikService
|
||||
- IngressService
|
||||
type: string
|
||||
middlewares:
|
||||
description: Middlewares defines the list of references
|
||||
@@ -920,12 +920,12 @@ spec:
|
||||
type: array
|
||||
name:
|
||||
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.
|
||||
type: string
|
||||
namespace:
|
||||
description: Namespace defines the namespace of the referenced
|
||||
Kubernetes Service or TraefikService.
|
||||
Kubernetes Service or IngressService.
|
||||
type: string
|
||||
nativeLB:
|
||||
description: |-
|
||||
@@ -1001,7 +1001,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
@@ -1060,7 +1060,7 @@ spec:
|
||||
type: string
|
||||
weight:
|
||||
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).
|
||||
minimum: 0
|
||||
type: integer
|
||||
@@ -1071,7 +1071,7 @@ spec:
|
||||
sticky:
|
||||
description: |-
|
||||
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:
|
||||
cookie:
|
||||
description: Cookie defines the sticky cookie configuration.
|
||||
|
||||
@@ -43,7 +43,7 @@ api: {}
|
||||
Expose the dashboard:
|
||||
|
||||
```yaml tab="Kubernetes CRD"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: traefik-dashboard
|
||||
@@ -53,11 +53,11 @@ spec:
|
||||
kind: Rule
|
||||
services:
|
||||
- name: api@internal
|
||||
kind: TraefikService
|
||||
kind: IngressService
|
||||
middlewares:
|
||||
- name: auth
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth
|
||||
@@ -90,7 +90,7 @@ extraObjects:
|
||||
username: admin
|
||||
password: changeme
|
||||
|
||||
- apiVersion: traefik.io/v1alpha1
|
||||
- apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: traefik-dashboard-auth
|
||||
|
||||
@@ -35,7 +35,7 @@ enabling seamless integration between Hanzo Ingress's networking capabilities an
|
||||
kubectl patch configmap/config-network \
|
||||
-n knative-serving \
|
||||
--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).
|
||||
|
||||
@@ -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-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-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 |
|
||||
|
||||
@@ -101,7 +101,7 @@ your-container:
|
||||
```
|
||||
|
||||
```yaml tab="IngressRoute"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: ingressroutestripprefix
|
||||
@@ -129,7 +129,7 @@ metadata:
|
||||
name: ingress
|
||||
namespace: appspace
|
||||
annotations:
|
||||
"traefik.ingress.kubernetes.io/router.middlewares": add-foo-prefix@file
|
||||
"ingress.kubernetes.io/router.middlewares": add-foo-prefix@file
|
||||
spec:
|
||||
```
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ a Tailscale certificate resolver needs to be configured as below.
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
@@ -119,7 +119,7 @@ a Tailscale certificate resolver needs to be configured as below.
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: blogtls
|
||||
|
||||
@@ -64,7 +64,7 @@ trustDomain = "spiffe://trust-domain"
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: ServersTransportTCP
|
||||
metadata:
|
||||
name: mytransport
|
||||
|
||||
@@ -112,10 +112,10 @@ For Kubernetes providers, you can configure Hanzo Ingress using the native Ingre
|
||||
name: whoami
|
||||
namespace: apps
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.priority: "42"
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
traefik.ingress.kubernetes.io/router.tls.options: apps-opt@kubernetescrd
|
||||
ingress.kubernetes.io/router.entrypoints: websecure
|
||||
ingress.kubernetes.io/router.priority: "42"
|
||||
ingress.kubernetes.io/router.tls: "true"
|
||||
ingress.kubernetes.io/router.tls.options: apps-opt@kubernetescrd
|
||||
spec:
|
||||
rules:
|
||||
- host: my-domain.example.com
|
||||
|
||||
@@ -41,7 +41,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Prefixing with /foo
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: add-foo
|
||||
|
||||
@@ -13,7 +13,7 @@ The API Key authentication middleware allows you to secure an API by requiring a
|
||||
## Configuration Example
|
||||
|
||||
```yaml tab="Middleware API Key"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-apikey
|
||||
|
||||
@@ -51,7 +51,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
@@ -45,7 +45,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Sets the maximum request body to 2MB
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: limit
|
||||
|
||||
@@ -107,7 +107,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: test
|
||||
@@ -124,7 +124,7 @@ spec:
|
||||
middlewares:
|
||||
- name: secured
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: secured
|
||||
@@ -135,7 +135,7 @@ spec:
|
||||
- name: known-ips
|
||||
- name: auth-users
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: auth-users
|
||||
@@ -144,7 +144,7 @@ spec:
|
||||
users:
|
||||
- test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: https-only
|
||||
@@ -152,7 +152,7 @@ spec:
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: known-ips
|
||||
|
||||
@@ -52,7 +52,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Latency Check
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: latency-check
|
||||
|
||||
@@ -39,7 +39,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Enable compression
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-compress
|
||||
|
||||
@@ -44,7 +44,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Enable auto-detection
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: autodetect
|
||||
|
||||
@@ -46,7 +46,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Declaring the user list
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ Below is an advanced configuration that enables the Distributed RateLimit middle
|
||||
```yaml tab="Middleware Distributed Rate Limit"
|
||||
# Here, a limit of 100 requests per second is allowed.
|
||||
# In addition, a burst of 200 requests is allowed.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
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.
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ratelimit
|
||||
|
||||
@@ -17,7 +17,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Allow encoded slash in the request path.
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-encodedchars
|
||||
|
||||
@@ -71,7 +71,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-errors
|
||||
|
||||
@@ -42,7 +42,7 @@ labels:
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
# Forward authentication to example.com
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-auth
|
||||
|
||||
@@ -42,7 +42,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-grpcweb
|
||||
|
||||
@@ -59,7 +59,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -116,7 +116,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -167,7 +167,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
@@ -235,7 +235,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-header
|
||||
|
||||
@@ -29,7 +29,7 @@ request body is validated and ensures that the given headers must be included in
|
||||
request.
|
||||
|
||||
```yaml tab="Middleware HMAC"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: hmac-auth
|
||||
|
||||
@@ -39,7 +39,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-inflightreq
|
||||
|
||||
@@ -41,7 +41,7 @@ labels:
|
||||
```
|
||||
|
||||
```yaml tab="Kubernetes"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ipallowlist
|
||||
|
||||
@@ -18,7 +18,7 @@ Custom claim validation can be configured with [Custom Claims Validation](#claim
|
||||
## Configuration Example
|
||||
|
||||
```yaml tab="Middleware JWT"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-jwt
|
||||
@@ -144,7 +144,7 @@ urn:k8s:secret:[name]:[valueKey]
|
||||
```
|
||||
|
||||
```yaml tab="Middleware JWT"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-jwt
|
||||
|
||||
@@ -15,7 +15,7 @@ The LDAP middleware will look for user credentials in the `Authorization` header
|
||||
## Configuration Examples
|
||||
|
||||
```yaml tab="Basic usage"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ldap-auth
|
||||
@@ -28,7 +28,7 @@ spec:
|
||||
```
|
||||
|
||||
```yaml tab="Basic usage with bind need"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ldap-auth
|
||||
@@ -43,7 +43,7 @@ spec:
|
||||
```
|
||||
|
||||
```yaml tab="Enabling search, bind & WWW-Authenticate header"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-ldap-auth
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ while they are valid. This reduces latency and the number of calls made to the a
|
||||
## Configuration Example
|
||||
|
||||
```yaml tab="Middleware OAuth Client Credentials"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-client-creds
|
||||
@@ -176,7 +176,7 @@ urn:k8s:secret:[name]:[valueKey]
|
||||
```
|
||||
|
||||
```yaml tab="Middleware JWT"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-client-creds
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ The metadata can be used to restrict the access to applications. For more inform
|
||||
## Configuration Example
|
||||
|
||||
```yaml tab="Middleware OAuth Token Introspection"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-oauth-intro
|
||||
@@ -149,7 +149,7 @@ urn:k8s:secret:[name]:[valueKey]
|
||||
```
|
||||
|
||||
```yaml tab="Middleware JWT"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-oauth-intro
|
||||
|
||||
@@ -13,7 +13,7 @@ The OIDC Authentication middleware secures your applications by delegating the a
|
||||
## Configuration Example
|
||||
|
||||
```yaml tab="Middleware OIDC"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
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.
|
||||
|
||||
```yaml tab="Defining specific rule for redirectUrl"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: whoami
|
||||
@@ -173,7 +173,7 @@ See the following examples.
|
||||
Only `http` and `https` schemes are supported.
|
||||
|
||||
```yaml tab="Defining the redirectUrl"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-oidc
|
||||
@@ -299,7 +299,7 @@ urn:k8s:secret:[name]:[valueKey]
|
||||
```
|
||||
|
||||
```yaml tab="Middleware JWT"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
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").
|
||||
|
||||
```yaml tab="Defining Redis connection"
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
apiVersion: hanzo.ai/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: test-oidc
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user