From 48a2c8e41c12ae3e83edafd0e293c0f775a4047c Mon Sep 17 00:00:00 2001 From: Romain Date: Tue, 21 Mar 2023 15:32:06 +0100 Subject: [PATCH 1/4] Fix Nomad client TLS defaults --- pkg/provider/nomad/nomad.go | 21 +++++++++++++++------ pkg/provider/nomad/nomad_test.go | 1 - 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/pkg/provider/nomad/nomad.go b/pkg/provider/nomad/nomad.go index 4b28f4707..348edef34 100644 --- a/pkg/provider/nomad/nomad.go +++ b/pkg/provider/nomad/nomad.go @@ -79,13 +79,17 @@ func (p *Provider) SetDefaults() { Address: defConfig.Address, Region: defConfig.Region, Token: defConfig.SecretID, - TLS: &types.ClientTLS{ + } + + if defConfig.TLSConfig != nil && (defConfig.TLSConfig.Insecure || defConfig.TLSConfig.CACert != "" || defConfig.TLSConfig.ClientCert != "" || defConfig.TLSConfig.ClientKey != "") { + p.Endpoint.TLS = &types.ClientTLS{ CA: defConfig.TLSConfig.CACert, Cert: defConfig.TLSConfig.ClientCert, Key: defConfig.TLSConfig.ClientKey, InsecureSkipVerify: defConfig.TLSConfig.Insecure, - }, + } } + p.Prefix = defaultPrefix p.ExposedByDefault = true p.RefreshInterval = ptypes.Duration(15 * time.Second) @@ -173,19 +177,24 @@ func (p *Provider) loadConfiguration(ctx context.Context, configurationC chan<- } func createClient(namespace string, endpoint *EndpointConfig) (*api.Client, error) { - return api.NewClient(&api.Config{ + config := api.Config{ Address: endpoint.Address, Namespace: namespace, Region: endpoint.Region, SecretID: endpoint.Token, WaitTime: time.Duration(endpoint.EndpointWaitTime), - TLSConfig: &api.TLSConfig{ + } + + if endpoint.TLS != nil { + config.TLSConfig = &api.TLSConfig{ CACert: endpoint.TLS.CA, ClientCert: endpoint.TLS.Cert, ClientKey: endpoint.TLS.Key, Insecure: endpoint.TLS.InsecureSkipVerify, - }, - }) + } + } + + return api.NewClient(&config) } // configuration contains information from the service's tags that are globals diff --git a/pkg/provider/nomad/nomad_test.go b/pkg/provider/nomad/nomad_test.go index 3bfc54dee..7dab2b2a1 100644 --- a/pkg/provider/nomad/nomad_test.go +++ b/pkg/provider/nomad/nomad_test.go @@ -84,7 +84,6 @@ func TestProvider_SetDefaults_Endpoint(t *testing.T) { envs: map[string]string{}, expected: &EndpointConfig{ Address: "http://127.0.0.1:4646", - TLS: &types.ClientTLS{}, }, }, { From f7be1e97df7b6b6337ad045205649bc63851fd38 Mon Sep 17 00:00:00 2001 From: Romain Date: Tue, 21 Mar 2023 15:50:06 +0100 Subject: [PATCH 2/4] Support multiple namespaces in the Nomad Provider --- .golangci.yml | 1 + docs/content/deprecation/features.md | 6 ++ docs/content/migration/v2.md | 6 ++ docs/content/providers/nomad.md | 49 ++++++++- .../reference/static-configuration/cli-ref.md | 3 + .../reference/static-configuration/env-ref.md | 3 + .../reference/static-configuration/file.toml | 1 + .../reference/static-configuration/file.yaml | 3 + .../routing/providers/kubernetes-gateway.md | 54 +++++----- pkg/config/dynamic/fixtures/sample.toml | 1 - pkg/config/static/static_config.go | 10 +- pkg/provider/aggregator/aggregator.go | 4 +- pkg/provider/nomad/config_test.go | 53 +++++++++ pkg/provider/nomad/nomad.go | 102 ++++++++++++++---- pkg/provider/nomad/nomad_test.go | 9 +- .../components/_commons/PanelMiddlewares.vue | 3 + .../_commons/PanelMirroringServices.vue | 3 + .../_commons/PanelRouterDetails.vue | 3 + .../_commons/PanelServiceDetails.vue | 3 + .../_commons/PanelWeightedServices.vue | 3 + .../src/components/_commons/ProviderIcon.vue | 3 + .../components/dashboard/PanelProvider.vue | 3 + 22 files changed, 266 insertions(+), 60 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 87e90c964..43065313c 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -142,6 +142,7 @@ issues: - 'SA1019: cfg.FeaturePolicy is deprecated' - 'SA1019: c.Providers.ConsulCatalog.Namespace is deprecated' - 'SA1019: c.Providers.Consul.Namespace is deprecated' + - 'SA1019: c.Providers.Nomad.Namespace is deprecated' exclude-rules: - path: '(.+)_test.go' linters: diff --git a/docs/content/deprecation/features.md b/docs/content/deprecation/features.md index 1a5fbe4fb..c9e54134f 100644 --- a/docs/content/deprecation/features.md +++ b/docs/content/deprecation/features.md @@ -7,6 +7,7 @@ This page is maintained and updated periodically to reflect our roadmap and any | [Pilot](#pilot) | 2.7 | 2.8 | 2.9 | | [Consul Enterprise Namespace](#consul-enterprise-namespace) | 2.8 | N/A | 3.0 | | [TLS 1.0 and 1.1 Support](#tls-10-and-11) | N/A | 2.8 | N/A | +| [Nomad Namespace](#nomad-namespace) | 2.10 | N/A | 3.0 | | [Kubernetes CRDs API Group `traefik.containo.us`](#kubernetes-crds-api-group-traefikcontainous) | 2.10 | N/A | 3.0 | | [Kubernetes CRDs API Version `traefik.io/v1alpha1`](#kubernetes-crds-api-version-traefikiov1alpha1) | N/A | N/A | 3.0 | @@ -29,6 +30,11 @@ please use the `namespaces` options instead. Starting on 2.8 the default TLS options will use the minimum version of TLS 1.2. Of course, it can still be overridden with custom configuration. +### Nomad Namespace + +Starting on 2.10 the `namespace` option of the Nomad provider is deprecated, +please use the `namespaces` options instead. + ### Kubernetes CRDs API Group `traefik.containo.us` In v2.10, the Kubernetes CRDs API Group `traefik.containo.us` is deprecated, and its support will end starting with Traefik v3. Please use the API Group `traefik.io` instead. diff --git a/docs/content/migration/v2.md b/docs/content/migration/v2.md index b007d7d30..a04271cac 100644 --- a/docs/content/migration/v2.md +++ b/docs/content/migration/v2.md @@ -499,6 +499,12 @@ In `v2.9`, Traefik Pilot support has been removed. ## v2.10 +### Nomad Namespace + +In `v2.10`, the `namespace` option of the Nomad provider is deprecated, please use the `namespaces` options instead. + +## v2.10 + ### Kubernetes CRDs In `v2.10`, the Kubernetes CRDs API Group `traefik.containo.us` is deprecated, and its support will end starting with Traefik v3. Please use the API Group `traefik.io` instead. diff --git a/docs/content/providers/nomad.md b/docs/content/providers/nomad.md index 92ce542ad..572ccc0d6 100644 --- a/docs/content/providers/nomad.md +++ b/docs/content/providers/nomad.md @@ -442,24 +442,65 @@ For additional information, refer to [Restrict the Scope of Service Discovery](. ### `namespace` +??? warning "Deprecated in favor of the [`namespaces`](#namespaces) option." + + _Optional, Default=""_ + + The `namespace` option defines the namespace in which the Nomad services will be discovered. + + !!! warning + + One should only define either the `namespaces` option or the `namespace` option. + + ```yaml tab="File (YAML)" + providers: + nomad: + namespace: "production" + # ... + ``` + + ```toml tab="File (TOML)" + [providers.nomad] + namespace = "production" + # ... + ``` + + ```bash tab="CLI" + --providers.nomad.namespace=production + # ... + ``` + +### `namespaces` + _Optional, Default=""_ -The `namespace` option defines the namespace in which the Nomad services will be discovered. +The `namespaces` option defines the namespaces in which the nomad services will be discovered. +When using the `namespaces` option, the discovered object names will be suffixed as shown below: + +```text +@nomad- +``` + +!!! warning + + One should only define either the `namespaces` option or the `namespace` option. ```yaml tab="File (YAML)" providers: nomad: - namespace: "production" + namespaces: + - "ns1" + - "ns2" # ... ``` ```toml tab="File (TOML)" [providers.nomad] - namespace = "production" + namespaces = ["ns1", "ns2"] # ... ``` ```bash tab="CLI" ---providers.nomad.namespace=production +--providers.nomad.namespaces=ns1,ns2 # ... ``` diff --git a/docs/content/reference/static-configuration/cli-ref.md b/docs/content/reference/static-configuration/cli-ref.md index a965ff977..6e4e09136 100644 --- a/docs/content/reference/static-configuration/cli-ref.md +++ b/docs/content/reference/static-configuration/cli-ref.md @@ -858,6 +858,9 @@ Expose Nomad services by default. (Default: ```true```) `--providers.nomad.namespace`: Sets the Nomad namespace used to discover services. +`--providers.nomad.namespaces`: +Sets the Nomad namespaces used to discover services. + `--providers.nomad.prefix`: Prefix for nomad service tags. (Default: ```traefik```) diff --git a/docs/content/reference/static-configuration/env-ref.md b/docs/content/reference/static-configuration/env-ref.md index e38608aa7..85961c2bf 100644 --- a/docs/content/reference/static-configuration/env-ref.md +++ b/docs/content/reference/static-configuration/env-ref.md @@ -858,6 +858,9 @@ Expose Nomad services by default. (Default: ```true```) `TRAEFIK_PROVIDERS_NOMAD_NAMESPACE`: Sets the Nomad namespace used to discover services. +`TRAEFIK_PROVIDERS_NOMAD_NAMESPACES`: +Sets the Nomad namespaces used to discover services. + `TRAEFIK_PROVIDERS_NOMAD_PREFIX`: Prefix for nomad service tags. (Default: ```traefik```) diff --git a/docs/content/reference/static-configuration/file.toml b/docs/content/reference/static-configuration/file.toml index 241fb41c3..7d96d87f4 100644 --- a/docs/content/reference/static-configuration/file.toml +++ b/docs/content/reference/static-configuration/file.toml @@ -181,6 +181,7 @@ prefix = "foobar" stale = true namespace = "foobar" + namespaces = ["foobar", "foobar"] exposedByDefault = true refreshInterval = "42s" [providers.nomad.endpoint] diff --git a/docs/content/reference/static-configuration/file.yaml b/docs/content/reference/static-configuration/file.yaml index 74a327908..435efb1ce 100644 --- a/docs/content/reference/static-configuration/file.yaml +++ b/docs/content/reference/static-configuration/file.yaml @@ -195,6 +195,9 @@ providers: prefix: foobar stale: true namespace: foobar + namespaces: + - foobar + - foobar exposedByDefault: true refreshInterval: 42s endpoint: diff --git a/docs/content/routing/providers/kubernetes-gateway.md b/docs/content/routing/providers/kubernetes-gateway.md index 73f2aa6e0..e82e0ae59 100644 --- a/docs/content/routing/providers/kubernetes-gateway.md +++ b/docs/content/routing/providers/kubernetes-gateway.md @@ -294,19 +294,19 @@ Kubernetes cluster before creating `TCPRoute` objects. kind: TraefikService # [11] ``` -| Ref | Attribute | Description | -|------|---------------|-----------------------------------------------------------------------------------------------------------------------------------| -| [1] | `parentRefs` | References the resources (usually Gateways) that a Route wants to be attached to. | -| [2] | `name` | Name of the referent. | -| [3] | `namespace` | Namespace of the referent. When unspecified (or empty string), this refers to the local namespace of the Route. | -| [4] | `sectionName` | Name of a section within the target resource (the Listener name). | -| [5] | `rules` | Rules are a list of TCP matchers and actions. | -| [6] | `backendRefs` | Defines the backend(s) where matching requests should be sent. | -| [7] | `name` | The name of the referent service. | -| [8] | `weight` | The proportion of traffic forwarded to a targetRef, computed as weight/(sum of all weights in targetRefs). | -| [9] | `port` | The port of the referent service. | -| [10] | `group` | Group is the group of the referent. Only traefik.io`, `traefik.containo.us` and `gateway.networking.k8s.io` values are supported. | -| [11] | `kind` | Kind is kind of the referent. Only `TraefikService` and `Service` values are supported. | +| Ref | Attribute | Description | +|------|---------------|------------------------------------------------------------------------------------------------------------------------------------| +| [1] | `parentRefs` | References the resources (usually Gateways) that a Route wants to be attached to. | +| [2] | `name` | Name of the referent. | +| [3] | `namespace` | Namespace of the referent. When unspecified (or empty string), this refers to the local namespace of the Route. | +| [4] | `sectionName` | Name of a section within the target resource (the Listener name). | +| [5] | `rules` | Rules are a list of TCP matchers and actions. | +| [6] | `backendRefs` | Defines the backend(s) where matching requests should be sent. | +| [7] | `name` | The name of the referent service. | +| [8] | `weight` | The proportion of traffic forwarded to a targetRef, computed as weight/(sum of all weights in targetRefs). | +| [9] | `port` | The port of the referent service. | +| [10] | `group` | Group is the group of the referent. Only `traefik.io`, `traefik.containo.us` and `gateway.networking.k8s.io` values are supported. | +| [11] | `kind` | Kind is kind of the referent. Only `TraefikService` and `Service` values are supported. | ### Kind: `TLSRoute` @@ -340,17 +340,17 @@ Kubernetes cluster before creating `TLSRoute` objects. kind: TraefikService # [12] ``` -| Ref | Attribute | Description | -|------|---------------|-----------------------------------------------------------------------------------------------------------------------------------| -| [1] | `parentRefs` | References the resources (usually Gateways) that a Route wants to be attached to. | -| [2] | `name` | Name of the referent. | -| [3] | `namespace` | Namespace of the referent. When unspecified (or empty string), this refers to the local namespace of the Route. | -| [4] | `sectionName` | Name of a section within the target resource (the Listener name). | -| [5] | `hostnames` | Defines a set of SNI names that should match against the SNI attribute of TLS ClientHello message in TLS handshake. | -| [6] | `rules` | Rules are a list of TCP matchers and actions. | -| [7] | `backendRefs` | Defines the backend(s) where matching requests should be sent. | -| [8] | `name` | The name of the referent service. | -| [9] | `weight` | The proportion of traffic forwarded to a targetRef, computed as weight/(sum of all weights in targetRefs). | -| [10] | `port` | The port of the referent service. | -| [11] | `group` | Group is the group of the referent. Only traefik.io`, `traefik.containo.us` and `gateway.networking.k8s.io` values are supported. | -| [12] | `kind` | Kind is kind of the referent. Only `TraefikService` and `Service` values are supported. | +| Ref | Attribute | Description | +|------|---------------|------------------------------------------------------------------------------------------------------------------------------------| +| [1] | `parentRefs` | References the resources (usually Gateways) that a Route wants to be attached to. | +| [2] | `name` | Name of the referent. | +| [3] | `namespace` | Namespace of the referent. When unspecified (or empty string), this refers to the local namespace of the Route. | +| [4] | `sectionName` | Name of a section within the target resource (the Listener name). | +| [5] | `hostnames` | Defines a set of SNI names that should match against the SNI attribute of TLS ClientHello message in TLS handshake. | +| [6] | `rules` | Rules are a list of TCP matchers and actions. | +| [7] | `backendRefs` | Defines the backend(s) where matching requests should be sent. | +| [8] | `name` | The name of the referent service. | +| [9] | `weight` | The proportion of traffic forwarded to a targetRef, computed as weight/(sum of all weights in targetRefs). | +| [10] | `port` | The port of the referent service. | +| [11] | `group` | Group is the group of the referent. Only `traefik.io`, `traefik.containo.us` and `gateway.networking.k8s.io` values are supported. | +| [12] | `kind` | Kind is kind of the referent. Only `TraefikService` and `Service` values are supported. | diff --git a/pkg/config/dynamic/fixtures/sample.toml b/pkg/config/dynamic/fixtures/sample.toml index 460912a99..b3c84571c 100644 --- a/pkg/config/dynamic/fixtures/sample.toml +++ b/pkg/config/dynamic/fixtures/sample.toml @@ -171,7 +171,6 @@ samplingType = "foobar" samplingParam = 42.0 localAgentHostPort = "foobar" - localAgentSocket = "foobar" gen128Bit = true propagation = "foobar" traceContextHeaderName = "foobar" diff --git a/pkg/config/static/static_config.go b/pkg/config/static/static_config.go index 3b8bd00f8..11e36d8cd 100644 --- a/pkg/config/static/static_config.go +++ b/pkg/config/static/static_config.go @@ -186,7 +186,7 @@ type Providers struct { Rest *rest.Provider `description:"Enable Rest backend with default settings." json:"rest,omitempty" toml:"rest,omitempty" yaml:"rest,omitempty" export:"true" label:"allowEmpty" file:"allowEmpty"` Rancher *rancher.Provider `description:"Enable Rancher backend with default settings." json:"rancher,omitempty" toml:"rancher,omitempty" yaml:"rancher,omitempty" export:"true" label:"allowEmpty" file:"allowEmpty"` ConsulCatalog *consulcatalog.ProviderBuilder `description:"Enable ConsulCatalog backend with default settings." json:"consulCatalog,omitempty" toml:"consulCatalog,omitempty" yaml:"consulCatalog,omitempty" label:"allowEmpty" file:"allowEmpty" export:"true"` - Nomad *nomad.Provider `description:"Enable Nomad backend with default settings." json:"nomad,omitempty" toml:"nomad,omitempty" yaml:"nomad,omitempty" label:"allowEmpty" file:"allowEmpty" export:"true"` + Nomad *nomad.ProviderBuilder `description:"Enable Nomad backend with default settings." json:"nomad,omitempty" toml:"nomad,omitempty" yaml:"nomad,omitempty" label:"allowEmpty" file:"allowEmpty" export:"true"` Ecs *ecs.Provider `description:"Enable AWS ECS backend with default settings." json:"ecs,omitempty" toml:"ecs,omitempty" yaml:"ecs,omitempty" label:"allowEmpty" file:"allowEmpty" export:"true"` Consul *consul.ProviderBuilder `description:"Enable Consul backend with default settings." json:"consul,omitempty" toml:"consul,omitempty" yaml:"consul,omitempty" label:"allowEmpty" file:"allowEmpty" export:"true"` @@ -326,11 +326,15 @@ func (c *Configuration) ValidateConfiguration() error { } if c.Providers.ConsulCatalog != nil && c.Providers.ConsulCatalog.Namespace != "" && len(c.Providers.ConsulCatalog.Namespaces) > 0 { - return fmt.Errorf("consul catalog provider cannot have both namespace and namespaces options configured") + return fmt.Errorf("Consul Catalog provider cannot have both namespace and namespaces options configured") } if c.Providers.Consul != nil && c.Providers.Consul.Namespace != "" && len(c.Providers.Consul.Namespaces) > 0 { - return fmt.Errorf("consul provider cannot have both namespace and namespaces options configured") + return fmt.Errorf("Consul provider cannot have both namespace and namespaces options configured") + } + + if c.Providers.Nomad != nil && c.Providers.Nomad.Namespace != "" && len(c.Providers.Nomad.Namespaces) > 0 { + return fmt.Errorf("Nomad provider cannot have both namespace and namespaces options configured") } return nil diff --git a/pkg/provider/aggregator/aggregator.go b/pkg/provider/aggregator/aggregator.go index 07d4488fb..3ddb1c3f2 100644 --- a/pkg/provider/aggregator/aggregator.go +++ b/pkg/provider/aggregator/aggregator.go @@ -115,7 +115,9 @@ func NewProviderAggregator(conf static.Providers) ProviderAggregator { } if conf.Nomad != nil { - p.quietAddProvider(conf.Nomad) + for _, pvd := range conf.Nomad.BuildProviders() { + p.quietAddProvider(pvd) + } } if conf.Consul != nil { diff --git a/pkg/provider/nomad/config_test.go b/pkg/provider/nomad/config_test.go index 4c72ee854..9d0aa21b8 100644 --- a/pkg/provider/nomad/config_test.go +++ b/pkg/provider/nomad/config_test.go @@ -4,6 +4,7 @@ import ( "context" "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/traefik/traefik/v2/pkg/config/dynamic" ) @@ -2509,5 +2510,57 @@ func Test_keepItem(t *testing.T) { } } +func TestNamespaces(t *testing.T) { + testCases := []struct { + desc string + namespace string + namespaces []string + expectedNamespaces []string + }{ + { + desc: "no defined namespaces", + expectedNamespaces: []string{""}, + }, + { + desc: "deprecated: use of defined namespace", + namespace: "test-ns", + expectedNamespaces: []string{"test-ns"}, + }, + { + desc: "use of 1 defined namespaces", + namespaces: []string{"test-ns"}, + expectedNamespaces: []string{"test-ns"}, + }, + { + desc: "use of multiple defined namespaces", + namespaces: []string{"test-ns1", "test-ns2", "test-ns3", "test-ns4"}, + expectedNamespaces: []string{"test-ns1", "test-ns2", "test-ns3", "test-ns4"}, + }, + } + + for _, test := range testCases { + test := test + + t.Run(test.desc, func(t *testing.T) { + t.Parallel() + + pb := &ProviderBuilder{ + Namespace: test.namespace, + Namespaces: test.namespaces, + } + + assert.Equal(t, test.expectedNamespaces, extractNamespacesFromProvider(pb.BuildProviders())) + }) + } +} + +func extractNamespacesFromProvider(providers []*Provider) []string { + res := make([]string, len(providers)) + for i, p := range providers { + res[i] = p.namespace + } + return res +} + func Int(v int) *int { return &v } func Bool(v bool) *bool { return &v } diff --git a/pkg/provider/nomad/nomad.go b/pkg/provider/nomad/nomad.go index 4b28f4707..96331a42f 100644 --- a/pkg/provider/nomad/nomad.go +++ b/pkg/provider/nomad/nomad.go @@ -2,6 +2,7 @@ package nomad import ( "context" + "errors" "fmt" "strings" "text/template" @@ -46,17 +47,79 @@ type item struct { ExtraConf configuration // global options } -// Provider holds configurations of the provider. -type Provider struct { +// ProviderBuilder is responsible for constructing namespaced instances of the Nomad provider. +type ProviderBuilder struct { + Configuration `yaml:",inline" export:"true"` + + // Deprecated: Use Namespaces option instead + Namespace string `description:"Sets the Nomad namespace used to discover services." json:"namespace,omitempty" toml:"namespace,omitempty" yaml:"namespace,omitempty"` + Namespaces []string `description:"Sets the Nomad namespaces used to discover services." json:"namespaces,omitempty" toml:"namespaces,omitempty" yaml:"namespaces,omitempty"` +} + +// BuildProviders builds Nomad provider instances for the given namespaces configuration. +func (p *ProviderBuilder) BuildProviders() []*Provider { + if p.Namespace != "" { + log.WithoutContext().Warnf("Namespace option is deprecated, please use the Namespaces option instead.") + } + + if len(p.Namespaces) == 0 { + return []*Provider{{ + Configuration: p.Configuration, + name: providerName, + // p.Namespace could be empty + namespace: p.Namespace, + }} + } + + var providers []*Provider + for _, namespace := range p.Namespaces { + providers = append(providers, &Provider{ + Configuration: p.Configuration, + name: providerName + "-" + namespace, + namespace: namespace, + }) + } + + return providers +} + +// Configuration represents the Nomad provider configuration. +type Configuration struct { DefaultRule string `description:"Default rule." json:"defaultRule,omitempty" toml:"defaultRule,omitempty" yaml:"defaultRule,omitempty"` Constraints string `description:"Constraints is an expression that Traefik matches against the Nomad service's tags to determine whether to create route(s) for that service." json:"constraints,omitempty" toml:"constraints,omitempty" yaml:"constraints,omitempty" export:"true"` Endpoint *EndpointConfig `description:"Nomad endpoint settings" json:"endpoint,omitempty" toml:"endpoint,omitempty" yaml:"endpoint,omitempty" export:"true"` Prefix string `description:"Prefix for nomad service tags." json:"prefix,omitempty" toml:"prefix,omitempty" yaml:"prefix,omitempty" export:"true"` Stale bool `description:"Use stale consistency for catalog reads." json:"stale,omitempty" toml:"stale,omitempty" yaml:"stale,omitempty" export:"true"` - Namespace string `description:"Sets the Nomad namespace used to discover services." json:"namespace,omitempty" toml:"namespace,omitempty" yaml:"namespace,omitempty" export:"true"` ExposedByDefault bool `description:"Expose Nomad services by default." json:"exposedByDefault,omitempty" toml:"exposedByDefault,omitempty" yaml:"exposedByDefault,omitempty" export:"true"` RefreshInterval ptypes.Duration `description:"Interval for polling Nomad API." json:"refreshInterval,omitempty" toml:"refreshInterval,omitempty" yaml:"refreshInterval,omitempty" export:"true"` +} +// SetDefaults sets the default values for the Nomad Traefik Provider Configuration. +func (c *Configuration) SetDefaults() { + defConfig := api.DefaultConfig() + c.Endpoint = &EndpointConfig{ + Address: defConfig.Address, + Region: defConfig.Region, + Token: defConfig.SecretID, + TLS: &types.ClientTLS{ + CA: defConfig.TLSConfig.CACert, + Cert: defConfig.TLSConfig.ClientCert, + Key: defConfig.TLSConfig.ClientKey, + InsecureSkipVerify: defConfig.TLSConfig.Insecure, + }, + } + c.Prefix = defaultPrefix + c.ExposedByDefault = true + c.RefreshInterval = ptypes.Duration(15 * time.Second) + c.DefaultRule = defaultTemplateRule +} + +// Provider holds configuration along with the namespace it will discover services in. +type Provider struct { + Configuration + + name string + namespace string client *api.Client // client for Nomad API defaultRuleTpl *template.Template // default routing rule } @@ -74,31 +137,26 @@ type EndpointConfig struct { // SetDefaults sets the default values for the Nomad Traefik Provider. func (p *Provider) SetDefaults() { - defConfig := api.DefaultConfig() - p.Endpoint = &EndpointConfig{ - Address: defConfig.Address, - Region: defConfig.Region, - Token: defConfig.SecretID, - TLS: &types.ClientTLS{ - CA: defConfig.TLSConfig.CACert, - Cert: defConfig.TLSConfig.ClientCert, - Key: defConfig.TLSConfig.ClientKey, - InsecureSkipVerify: defConfig.TLSConfig.Insecure, - }, - } - p.Prefix = defaultPrefix - p.ExposedByDefault = true - p.RefreshInterval = ptypes.Duration(15 * time.Second) - p.DefaultRule = defaultTemplateRule + p.Configuration.SetDefaults() } // Init the Nomad Traefik Provider. func (p *Provider) Init() error { + if p.namespace == api.AllNamespacesNamespace { + return errors.New("wildcard namespace not supported") + } + defaultRuleTpl, err := provider.MakeDefaultRuleTemplate(p.DefaultRule, nil) if err != nil { return fmt.Errorf("error while parsing default rule: %w", err) } p.defaultRuleTpl = defaultRuleTpl + + // In case they didn't initialize Provider with BuildProviders + if p.name == "" { + p.name = providerName + } + return nil } @@ -106,13 +164,13 @@ func (p *Provider) Init() error { // using the given configuration channel. func (p *Provider) Provide(configurationChan chan<- dynamic.Message, pool *safe.Pool) error { var err error - p.client, err = createClient(p.Namespace, p.Endpoint) + p.client, err = createClient(p.namespace, p.Endpoint) if err != nil { return fmt.Errorf("failed to create nomad API client: %w", err) } pool.GoCtx(func(routineCtx context.Context) { - ctxLog := log.With(routineCtx, log.Str(log.ProviderName, providerName)) + ctxLog := log.With(routineCtx, log.Str(log.ProviderName, p.name)) logger := log.FromContext(ctxLog) operation := func() error { @@ -165,7 +223,7 @@ func (p *Provider) loadConfiguration(ctx context.Context, configurationC chan<- return err } configurationC <- dynamic.Message{ - ProviderName: providerName, + ProviderName: p.name, Configuration: p.buildConfig(ctx, items), } diff --git a/pkg/provider/nomad/nomad_test.go b/pkg/provider/nomad/nomad_test.go index 3bfc54dee..d75307231 100644 --- a/pkg/provider/nomad/nomad_test.go +++ b/pkg/provider/nomad/nomad_test.go @@ -66,7 +66,12 @@ func Test_globalConfig(t *testing.T) { for _, test := range cases { t.Run(test.Name, func(t *testing.T) { - p := Provider{ExposedByDefault: test.ExposedByDefault, Prefix: test.Prefix} + p := Provider{ + Configuration: Configuration{ + ExposedByDefault: test.ExposedByDefault, + Prefix: test.Prefix, + }, + } result := p.getExtraConf(test.Tags) require.Equal(t, test.exp, result) }) @@ -148,7 +153,7 @@ func Test_getNomadServiceData(t *testing.T) { require.NoError(t, err) // fudge client, avoid starting up via Provide - p.client, err = createClient(p.Namespace, p.Endpoint) + p.client, err = createClient(p.namespace, p.Endpoint) require.NoError(t, err) // make the query for services diff --git a/webui/src/components/_commons/PanelMiddlewares.vue b/webui/src/components/_commons/PanelMiddlewares.vue index db88fb96f..2c9c5f4dd 100644 --- a/webui/src/components/_commons/PanelMiddlewares.vue +++ b/webui/src/components/_commons/PanelMiddlewares.vue @@ -1157,6 +1157,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/_commons/PanelMirroringServices.vue b/webui/src/components/_commons/PanelMirroringServices.vue index 849d99559..4ddb6a5c7 100644 --- a/webui/src/components/_commons/PanelMirroringServices.vue +++ b/webui/src/components/_commons/PanelMirroringServices.vue @@ -75,6 +75,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/_commons/PanelRouterDetails.vue b/webui/src/components/_commons/PanelRouterDetails.vue index 582d13133..4b5d2029b 100644 --- a/webui/src/components/_commons/PanelRouterDetails.vue +++ b/webui/src/components/_commons/PanelRouterDetails.vue @@ -141,6 +141,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/_commons/PanelServiceDetails.vue b/webui/src/components/_commons/PanelServiceDetails.vue index 6d8de0857..b73436172 100644 --- a/webui/src/components/_commons/PanelServiceDetails.vue +++ b/webui/src/components/_commons/PanelServiceDetails.vue @@ -155,6 +155,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/_commons/PanelWeightedServices.vue b/webui/src/components/_commons/PanelWeightedServices.vue index 2b6f539d6..e5b4c27ff 100644 --- a/webui/src/components/_commons/PanelWeightedServices.vue +++ b/webui/src/components/_commons/PanelWeightedServices.vue @@ -75,6 +75,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/_commons/ProviderIcon.vue b/webui/src/components/_commons/ProviderIcon.vue index 6b3bac409..2d792ada5 100644 --- a/webui/src/components/_commons/ProviderIcon.vue +++ b/webui/src/components/_commons/ProviderIcon.vue @@ -20,6 +20,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } diff --git a/webui/src/components/dashboard/PanelProvider.vue b/webui/src/components/dashboard/PanelProvider.vue index a4d451866..59fbd4782 100644 --- a/webui/src/components/dashboard/PanelProvider.vue +++ b/webui/src/components/dashboard/PanelProvider.vue @@ -37,6 +37,9 @@ export default { if (name.startsWith('consulcatalog-')) { return `statics/providers/consulcatalog.svg` } + if (name.startsWith('nomad-')) { + return `statics/providers/nomad.svg` + } return `statics/providers/${name}.svg` } From a020ab640dda87c1334d9578b155dd60717a3b68 Mon Sep 17 00:00:00 2001 From: Romain Date: Tue, 21 Mar 2023 16:47:43 +0100 Subject: [PATCH 3/4] Prepare release v2.9.9 --- CHANGELOG.md | 16 ++++++++++++++++ script/gcg/traefik-bugfix.toml | 6 +++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41e456242..cba002d75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## [v2.9.9](https://github.com/traefik/traefik/tree/v2.9.9) (2023-03-21) +[All Commits](https://github.com/traefik/traefik/compare/v2.9.8...v2.9.9) + +**Bug fixes:** +- **[acme]** Update go-acme/lego to v4.10.2 ([#9749](https://github.com/traefik/traefik/pull/9749) by [ldez](https://github.com/ldez)) +- **[http3]** Update quic-go to v0.33.0 ([#9737](https://github.com/traefik/traefik/pull/9737) by [ldez](https://github.com/ldez)) +- **[metrics]** Include user-defined default cert for traefik_tls_certs_not_after metric ([#9742](https://github.com/traefik/traefik/pull/9742) by [rtribotte](https://github.com/rtribotte)) +- **[middleware]** Update vulcand/oxy to a0e9f7ff1040 ([#9750](https://github.com/traefik/traefik/pull/9750) by [ldez](https://github.com/ldez)) +- **[nomad]** Fix default configuration settings for Nomad Provider ([#9758](https://github.com/traefik/traefik/pull/9758) by [aofei](https://github.com/aofei)) +- **[nomad]** Fix Nomad client TLS defaults ([#9795](https://github.com/traefik/traefik/pull/9795) by [rtribotte](https://github.com/rtribotte)) +- **[server]** Remove User-Agent header removal from ReverseProxy director func ([#9752](https://github.com/traefik/traefik/pull/9752) by [rtribotte](https://github.com/rtribotte)) + +**Documentation:** +- **[middleware]** Clarify ratelimit middleware ([#9777](https://github.com/traefik/traefik/pull/9777) by [mpl](https://github.com/mpl)) +- **[tcp]** Correcting variable name 'server address' in TCP Router ([#9743](https://github.com/traefik/traefik/pull/9743) by [ralphg6](https://github.com/ralphg6)) + ## [v2.9.8](https://github.com/traefik/traefik/tree/v2.9.8) (2023-02-15) [All Commits](https://github.com/traefik/traefik/compare/v2.9.7...v2.9.8) diff --git a/script/gcg/traefik-bugfix.toml b/script/gcg/traefik-bugfix.toml index 95128b3e2..189f8c451 100644 --- a/script/gcg/traefik-bugfix.toml +++ b/script/gcg/traefik-bugfix.toml @@ -4,11 +4,11 @@ RepositoryName = "traefik" OutputType = "file" FileName = "traefik_changelog.md" -# example new bugfix v2.9.8 +# example new bugfix v2.9.9 CurrentRef = "v2.9" -PreviousRef = "v2.9.7" +PreviousRef = "v2.9.8" BaseBranch = "v2.9" -FutureCurrentRefName = "v2.9.8" +FutureCurrentRefName = "v2.9.9" ThresholdPreviousRef = 10 ThresholdCurrentRef = 10 From be702c2b612148785d4431fb9bc310d95e2e3cbc Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Wed, 22 Mar 2023 11:06:05 +0100 Subject: [PATCH 4/4] Prepare release v2.10.0-rc1 --- .github/PULL_REQUEST_TEMPLATE.md | 4 +- .semaphore/semaphore.yml | 2 +- CHANGELOG.md | 24 +- .../getting-started/configuration-overview.md | 2 +- .../getting-started/install-traefik.md | 8 +- .../quick-start-with-kubernetes.md | 2 +- docs/content/getting-started/quick-start.md | 2 +- docs/content/observability/access-logs.md | 2 +- docs/content/providers/docker.md | 2 +- docs/content/providers/kubernetes-crd.md | 4 +- docs/content/providers/kubernetes-ingress.md | 2 +- .../kubernetes-crd-definition-v1.yml | 260 +++++++++--------- .../kubernetes-gateway-traefik-lb-svc.yml | 2 +- .../traefik.containo.us_ingressroutes.yaml | 26 +- .../traefik.containo.us_ingressroutetcps.yaml | 16 +- .../traefik.containo.us_ingressrouteudps.yaml | 2 +- .../traefik.containo.us_middlewares.yaml | 62 ++--- .../traefik.containo.us_middlewaretcps.yaml | 2 +- ...traefik.containo.us_serverstransports.yaml | 2 +- .../traefik.containo.us_tlsoptions.yaml | 8 +- .../traefik.containo.us_tlsstores.yaml | 2 +- .../traefik.containo.us_traefikservices.yaml | 10 +- .../traefik.io_ingressroutes.yaml | 26 +- .../traefik.io_ingressroutetcps.yaml | 16 +- .../traefik.io_ingressrouteudps.yaml | 2 +- .../traefik.io_middlewares.yaml | 62 ++--- .../traefik.io_middlewaretcps.yaml | 2 +- .../traefik.io_serverstransports.yaml | 2 +- .../traefik.io_tlsoptions.yaml | 8 +- .../traefik.io_tlsstores.yaml | 2 +- .../traefik.io_traefikservices.yaml | 10 +- .../routing/providers/kubernetes-crd.md | 2 +- .../routing/providers/kubernetes-ingress.md | 6 +- .../user-guides/crd-acme/03-deployments.yml | 2 +- docs/content/user-guides/crd-acme/index.md | 12 +- docs/content/user-guides/crd-acme/k3s.yml | 2 +- .../acme-dns/docker-compose.yml | 2 +- .../acme-dns/docker-compose_secrets.yml | 2 +- .../acme-http/docker-compose.yml | 2 +- .../acme-tls/docker-compose.yml | 2 +- .../basic-example/docker-compose.yml | 2 +- .../docker-compose/basic-example/index.md | 2 +- integration/fixtures/k8s/01-traefik-crd.yml | 260 +++++++++--------- pkg/config/dynamic/middlewares.go | 48 ++-- pkg/config/dynamic/tcp_config.go | 2 +- pkg/config/dynamic/tcp_middlewares.go | 2 +- .../v1alpha1/ingressroute.go | 28 +- .../v1alpha1/ingressroutetcp.go | 18 +- .../v1alpha1/ingressrouteudp.go | 2 +- .../traefikcontainous/v1alpha1/middleware.go | 24 +- .../v1alpha1/middlewaretcp.go | 2 +- .../v1alpha1/serverstransport.go | 2 +- .../crd/traefikcontainous/v1alpha1/service.go | 8 +- .../traefikcontainous/v1alpha1/tlsoption.go | 8 +- .../traefikcontainous/v1alpha1/tlsstore.go | 2 +- .../crd/traefikio/v1alpha1/ingressroute.go | 28 +- .../crd/traefikio/v1alpha1/ingressroutetcp.go | 18 +- .../crd/traefikio/v1alpha1/ingressrouteudp.go | 2 +- .../crd/traefikio/v1alpha1/middleware.go | 24 +- .../crd/traefikio/v1alpha1/middlewaretcp.go | 2 +- .../traefikio/v1alpha1/serverstransport.go | 2 +- .../crd/traefikio/v1alpha1/service.go | 8 +- .../crd/traefikio/v1alpha1/tlsoption.go | 8 +- .../crd/traefikio/v1alpha1/tlsstore.go | 2 +- 64 files changed, 562 insertions(+), 550 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 31100ab46..bf9d220f7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,11 +3,11 @@ PLEASE READ THIS MESSAGE. Documentation fixes or enhancements: - for Traefik v1: use branch v1.7 -- for Traefik v2: use branch v2.9 +- for Traefik v2: use branch v2.10 Bug fixes: - for Traefik v1: use branch v1.7 -- for Traefik v2: use branch v2.9 +- for Traefik v2: use branch v2.10 Enhancements: - for Traefik v1: we only accept bug fixes diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index b3502631c..558c79b75 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -64,7 +64,7 @@ blocks: - name: GH_VERSION value: 1.12.1 - name: CODENAME - value: "banon" + value: "saintmarcelin" - name: IN_DOCKER value: "" prologue: diff --git a/CHANGELOG.md b/CHANGELOG.md index cba002d75..1a0e3e60b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +## [v2.10.0-rc1](https://github.com/traefik/traefik/tree/v2.10.0-rc1) (2023-03-22) +[All Commits](https://github.com/traefik/traefik/compare/b3f162a8a61d89beaa9edc8adc12cc4cb3e1de0f...v2.10.0-rc1) + +**Enhancements:** +- **[docker]** Expose ContainerName in Docker provider ([#9770](https://github.com/traefik/traefik/pull/9770) by [quinot](https://github.com/quinot)) +- **[hub]** hub: get out of experimental. ([#9792](https://github.com/traefik/traefik/pull/9792) by [mpl](https://github.com/mpl)) +- **[k8s/crd]** Introduce traefik.io API Group CRDs ([#9765](https://github.com/traefik/traefik/pull/9765) by [rtribotte](https://github.com/rtribotte)) +- **[k8s/ingress,k8s/crd,k8s]** Native Kubernetes service load-balancing ([#9740](https://github.com/traefik/traefik/pull/9740) by [rtribotte](https://github.com/rtribotte)) +- **[middleware,metrics]** Add prometheus metric requests_total with headers ([#9783](https://github.com/traefik/traefik/pull/9783) by [rtribotte](https://github.com/rtribotte)) +- **[nomad]** Support multiple namespaces in the Nomad Provider ([#9794](https://github.com/traefik/traefik/pull/9794) by [rtribotte](https://github.com/rtribotte)) +- **[tracing]** Add support to send DataDog traces via Unix Socket ([#9714](https://github.com/traefik/traefik/pull/9714) by [der-eismann](https://github.com/der-eismann)) + +**Documentation:** +- docs: update order of log levels ([#9791](https://github.com/traefik/traefik/pull/9791) by [svx](https://github.com/svx)) + +**Misc:** +- Merge current v2.9 into v2.10 ([#9798](https://github.com/traefik/traefik/pull/9798) by [ldez](https://github.com/ldez)) + ## [v2.9.9](https://github.com/traefik/traefik/tree/v2.9.9) (2023-03-21) [All Commits](https://github.com/traefik/traefik/compare/v2.9.8...v2.9.9) @@ -131,13 +149,7 @@ Release canceled. - **[acme]** Fix ACME panic ([#9365](https://github.com/traefik/traefik/pull/9365) by [ldez](https://github.com/ldez)) **Documentation:** -- Prepare release v2.9.0 ([#9409](https://github.com/traefik/traefik/pull/9409) by [tomMoulard](https://github.com/tomMoulard)) - **[metrics]** Rework metrics overview page ([#9366](https://github.com/traefik/traefik/pull/9366) by [ddtmachado](https://github.com/ddtmachado)) -- Prepare release v2.9.0-rc5 ([#9402](https://github.com/traefik/traefik/pull/9402) by [ldez](https://github.com/ldez)) -- Prepare release v2.9.0-rc4 ([#9372](https://github.com/traefik/traefik/pull/9372) by [kevinpollet](https://github.com/kevinpollet)) -- Prepare release v2.9.0-rc3 ([#9344](https://github.com/traefik/traefik/pull/9344) by [kevinpollet](https://github.com/kevinpollet)) -- Prepare release v2.9.0-rc2 ([6c2c561](https://github.com/traefik/traefik/commit/6c2c561d8f935d76ccd07d28e1455c7768adc153) by [ldez](https://github.com/ldez)) -- Prepare release v2.9.0-rc1 ([#9334](https://github.com/traefik/traefik/pull/9334) by [rtribotte](https://github.com/rtribotte)) **Misc:** - Merge current v2.8 into v2.9 ([#9400](https://github.com/traefik/traefik/pull/9400) by [ldez](https://github.com/ldez)) diff --git a/docs/content/getting-started/configuration-overview.md b/docs/content/getting-started/configuration-overview.md index f99c06925..2ecf93b74 100644 --- a/docs/content/getting-started/configuration-overview.md +++ b/docs/content/getting-started/configuration-overview.md @@ -79,7 +79,7 @@ traefik --help # or docker run traefik[:version] --help -# ex: docker run traefik:v2.9 --help +# ex: docker run traefik:v2.10 --help ``` All available arguments can also be found [here](../reference/static-configuration/cli.md). diff --git a/docs/content/getting-started/install-traefik.md b/docs/content/getting-started/install-traefik.md index 1fd00a87d..007d609c6 100644 --- a/docs/content/getting-started/install-traefik.md +++ b/docs/content/getting-started/install-traefik.md @@ -16,12 +16,12 @@ You can install Traefik with the following flavors: Choose one of the [official Docker images](https://hub.docker.com/_/traefik) and run it with one sample configuration file: -* [YAML](https://raw.githubusercontent.com/traefik/traefik/v2.9/traefik.sample.yml) -* [TOML](https://raw.githubusercontent.com/traefik/traefik/v2.9/traefik.sample.toml) +* [YAML](https://raw.githubusercontent.com/traefik/traefik/v2.10/traefik.sample.yml) +* [TOML](https://raw.githubusercontent.com/traefik/traefik/v2.10/traefik.sample.toml) ```bash docker run -d -p 8080:8080 -p 80:80 \ - -v $PWD/traefik.yml:/etc/traefik/traefik.yml traefik:v2.9 + -v $PWD/traefik.yml:/etc/traefik/traefik.yml traefik:v2.10 ``` For more details, go to the [Docker provider documentation](../providers/docker.md) @@ -29,7 +29,7 @@ For more details, go to the [Docker provider documentation](../providers/docker. !!! tip * Prefer a fixed version than the latest that could be an unexpected version. - ex: `traefik:v2.9` + ex: `traefik:v2.10` * Docker images are based from the [Alpine Linux Official image](https://hub.docker.com/_/alpine). * Any orchestrator using docker images can fetch the official Traefik docker image. diff --git a/docs/content/getting-started/quick-start-with-kubernetes.md b/docs/content/getting-started/quick-start-with-kubernetes.md index 8626278b5..8962e7e05 100644 --- a/docs/content/getting-started/quick-start-with-kubernetes.md +++ b/docs/content/getting-started/quick-start-with-kubernetes.md @@ -130,7 +130,7 @@ spec: serviceAccountName: traefik-account containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --api.insecure - --providers.kubernetesingress diff --git a/docs/content/getting-started/quick-start.md b/docs/content/getting-started/quick-start.md index 6a411666e..4c1a59eae 100644 --- a/docs/content/getting-started/quick-start.md +++ b/docs/content/getting-started/quick-start.md @@ -20,7 +20,7 @@ version: '3' services: reverse-proxy: # The official v2 Traefik docker image - image: traefik:v2.9 + image: traefik:v2.10 # Enables the web UI and tells Traefik to listen to docker command: --api.insecure=true --providers.docker ports: diff --git a/docs/content/observability/access-logs.md b/docs/content/observability/access-logs.md index a7739a12f..8c27f5788 100644 --- a/docs/content/observability/access-logs.md +++ b/docs/content/observability/access-logs.md @@ -254,7 +254,7 @@ version: "3.7" services: traefik: - image: traefik:v2.9 + image: traefik:v2.10 environment: - TZ=US/Alaska command: diff --git a/docs/content/providers/docker.md b/docs/content/providers/docker.md index 64924b39b..a1472d245 100644 --- a/docs/content/providers/docker.md +++ b/docs/content/providers/docker.md @@ -265,7 +265,7 @@ See the sections [Docker API Access](#docker-api-access) and [Docker Swarm API A services: traefik: - image: traefik:v2.9 # The official v2 Traefik docker image + image: traefik:v2.10 # The official v2 Traefik docker image ports: - "80:80" volumes: diff --git a/docs/content/providers/kubernetes-crd.md b/docs/content/providers/kubernetes-crd.md index dccc60eb6..f0c2635bc 100644 --- a/docs/content/providers/kubernetes-crd.md +++ b/docs/content/providers/kubernetes-crd.md @@ -35,10 +35,10 @@ the Traefik engineering team developed a [Custom Resource Definition](https://ku ```bash # Install Traefik Resource Definitions: - kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml + kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml # Install RBAC for Traefik: - kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml + kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml ``` ## Resource Configuration diff --git a/docs/content/providers/kubernetes-ingress.md b/docs/content/providers/kubernetes-ingress.md index a35017cc5..c9e9d8289 100644 --- a/docs/content/providers/kubernetes-ingress.md +++ b/docs/content/providers/kubernetes-ingress.md @@ -502,6 +502,6 @@ providers: ### Further To learn more about the various aspects of the Ingress specification that Traefik supports, -many examples of Ingresses definitions are located in the test [examples](https://github.com/traefik/traefik/tree/v2.9/pkg/provider/kubernetes/ingress/fixtures) of the Traefik repository. +many examples of Ingresses definitions are located in the test [examples](https://github.com/traefik/traefik/tree/v2.10/pkg/provider/kubernetes/ingress/fixtures) of the Traefik repository. {!traefik-for-business-applications.md!} diff --git a/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml b/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml index 967624d80..c17129245 100644 --- a/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml +++ b/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -56,11 +56,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -79,7 +79,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -152,7 +152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -197,16 +197,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -224,15 +224,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -248,11 +248,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name @@ -314,7 +314,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -325,7 +325,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -348,7 +348,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -380,7 +380,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -411,16 +411,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -438,7 +438,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik @@ -532,7 +532,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -618,7 +618,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -638,7 +638,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -648,11 +648,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -672,7 +672,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -705,13 +705,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -765,7 +765,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -799,11 +799,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -822,7 +822,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -831,7 +831,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -895,7 +895,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -944,7 +944,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -967,7 +967,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -998,7 +998,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -1159,7 +1159,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -1173,11 +1173,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1205,11 +1205,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1233,7 +1233,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -1340,7 +1340,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -1373,7 +1373,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1401,7 +1401,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1419,7 +1419,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1435,7 +1435,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -1445,7 +1445,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -1461,7 +1461,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -1481,7 +1481,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -1498,7 +1498,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the @@ -1542,7 +1542,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1616,7 +1616,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1743,7 +1743,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1763,13 +1763,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -1796,7 +1796,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array @@ -1857,7 +1857,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1955,7 +1955,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -2061,7 +2061,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2152,7 +2152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2259,7 +2259,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2298,7 +2298,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2375,7 +2375,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2392,11 +2392,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -2415,7 +2415,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -2488,7 +2488,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2533,16 +2533,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -2560,15 +2560,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -2584,11 +2584,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name @@ -2650,7 +2650,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2661,7 +2661,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -2684,7 +2684,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -2716,7 +2716,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -2747,16 +2747,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -2774,7 +2774,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik @@ -2868,7 +2868,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2954,7 +2954,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -2974,7 +2974,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -2984,11 +2984,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -3008,7 +3008,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -3041,13 +3041,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -3101,7 +3101,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -3135,11 +3135,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -3158,7 +3158,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -3167,7 +3167,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -3231,7 +3231,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -3280,7 +3280,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -3303,7 +3303,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -3334,7 +3334,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -3495,7 +3495,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -3509,11 +3509,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3541,11 +3541,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3569,7 +3569,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -3676,7 +3676,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -3709,7 +3709,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3737,7 +3737,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -3755,7 +3755,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -3771,7 +3771,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -3781,7 +3781,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -3797,7 +3797,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -3817,7 +3817,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -3834,7 +3834,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the @@ -3878,7 +3878,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -3952,7 +3952,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4079,7 +4079,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4099,13 +4099,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -4132,7 +4132,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array @@ -4193,7 +4193,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4291,7 +4291,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4397,7 +4397,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4488,7 +4488,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4595,7 +4595,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4634,7 +4634,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. diff --git a/docs/content/reference/dynamic-configuration/kubernetes-gateway-traefik-lb-svc.yml b/docs/content/reference/dynamic-configuration/kubernetes-gateway-traefik-lb-svc.yml index e4b477e78..d1316a0a0 100644 --- a/docs/content/reference/dynamic-configuration/kubernetes-gateway-traefik-lb-svc.yml +++ b/docs/content/reference/dynamic-configuration/kubernetes-gateway-traefik-lb-svc.yml @@ -25,7 +25,7 @@ spec: serviceAccountName: traefik-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutes.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutes.yaml index e4cad63b4..bd137f410 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutes.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutes.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -56,11 +56,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -79,7 +79,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -152,7 +152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -197,16 +197,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -224,15 +224,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -248,11 +248,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutetcps.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutetcps.yaml index 390dbd3c5..589fe31c1 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutetcps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressroutetcps.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -50,7 +50,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -73,7 +73,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -105,7 +105,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -136,16 +136,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -163,7 +163,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressrouteudps.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressrouteudps.yaml index bfcd63ea3..c35ee4dc2 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressrouteudps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_ingressrouteudps.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewares.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewares.yaml index b587d593d..5e14f93fa 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewares.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewares.yaml @@ -20,7 +20,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -40,7 +40,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -50,11 +50,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -74,7 +74,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -107,13 +107,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -167,7 +167,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -201,11 +201,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -224,7 +224,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -233,7 +233,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -297,7 +297,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -346,7 +346,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -369,7 +369,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -400,7 +400,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -561,7 +561,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -575,11 +575,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -607,11 +607,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -635,7 +635,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -742,7 +742,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -775,7 +775,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -803,7 +803,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -821,7 +821,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -837,7 +837,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -847,7 +847,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -863,7 +863,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -883,7 +883,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -900,7 +900,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewaretcps.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewaretcps.yaml index 1f6eec940..85302fa82 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewaretcps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_middlewaretcps.yaml @@ -20,7 +20,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_serverstransports.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_serverstransports.yaml index afc038496..d6fc3a92d 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_serverstransports.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_serverstransports.yaml @@ -22,7 +22,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsoptions.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsoptions.yaml index 16ea46008..73667667a 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsoptions.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsoptions.yaml @@ -21,7 +21,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -41,13 +41,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -74,7 +74,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsstores.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsstores.yaml index f6dfc6c8f..12f0ad37d 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsstores.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_tlsstores.yaml @@ -22,7 +22,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.containo.us_traefikservices.yaml b/docs/content/reference/dynamic-configuration/traefik.containo.us_traefikservices.yaml index 3ef4c454a..0dcf47003 100644 --- a/docs/content/reference/dynamic-configuration/traefik.containo.us_traefikservices.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.containo.us_traefikservices.yaml @@ -21,7 +21,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -127,7 +127,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -218,7 +218,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -325,7 +325,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -364,7 +364,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml index 93597744a..89aaee759 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutes.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -56,11 +56,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -79,7 +79,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -152,7 +152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -197,16 +197,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -224,15 +224,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -248,11 +248,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml index 03142b1b5..82f61ac24 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressroutetcps.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -50,7 +50,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -73,7 +73,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -105,7 +105,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -136,16 +136,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -163,7 +163,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik diff --git a/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml index c871718ba..27c50185d 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_ingressrouteudps.yaml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string diff --git a/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml b/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml index acc3e6670..5a4dc3640 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_middlewares.yaml @@ -20,7 +20,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -40,7 +40,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -50,11 +50,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -74,7 +74,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -107,13 +107,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -167,7 +167,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -201,11 +201,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -224,7 +224,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -233,7 +233,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -297,7 +297,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -346,7 +346,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -369,7 +369,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -400,7 +400,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -561,7 +561,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -575,11 +575,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -607,11 +607,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -635,7 +635,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -742,7 +742,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -775,7 +775,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -803,7 +803,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -821,7 +821,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -837,7 +837,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -847,7 +847,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -863,7 +863,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -883,7 +883,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -900,7 +900,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the diff --git a/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml b/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml index 42072158d..8623568f5 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_middlewaretcps.yaml @@ -20,7 +20,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml b/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml index f285da61a..803b56395 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_serverstransports.yaml @@ -22,7 +22,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml b/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml index fac9858d2..b86fefe0e 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_tlsoptions.yaml @@ -21,7 +21,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -41,13 +41,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -74,7 +74,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array diff --git a/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml b/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml index d0571767d..47b46854c 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_tlsstores.yaml @@ -22,7 +22,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation diff --git a/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml b/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml index 99ccfb4f6..0f3475bda 100644 --- a/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml +++ b/docs/content/reference/dynamic-configuration/traefik.io_traefikservices.yaml @@ -21,7 +21,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -127,7 +127,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -218,7 +218,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -325,7 +325,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -364,7 +364,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. diff --git a/docs/content/routing/providers/kubernetes-crd.md b/docs/content/routing/providers/kubernetes-crd.md index 3819ae760..17f8bf8e5 100644 --- a/docs/content/routing/providers/kubernetes-crd.md +++ b/docs/content/routing/providers/kubernetes-crd.md @@ -48,7 +48,7 @@ The Kubernetes Ingress Controller, The Custom Resource Way. serviceAccountName: traefik-ingress-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --log.level=DEBUG - --api diff --git a/docs/content/routing/providers/kubernetes-ingress.md b/docs/content/routing/providers/kubernetes-ingress.md index d2f4ff14b..9156cc67e 100644 --- a/docs/content/routing/providers/kubernetes-ingress.md +++ b/docs/content/routing/providers/kubernetes-ingress.md @@ -147,7 +147,7 @@ which in turn will create the resulting routers, services, handlers, etc. serviceAccountName: traefik-ingress-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --entrypoints.web.address=:80 - --providers.kubernetesingress @@ -550,7 +550,7 @@ This way, any Ingress attached to this Entrypoint will have TLS termination by d serviceAccountName: traefik-ingress-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --entrypoints.websecure.address=:443 - --entrypoints.websecure.http.tls @@ -760,7 +760,7 @@ For more options, please refer to the available [annotations](#on-ingress). serviceAccountName: traefik-ingress-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --entrypoints.websecure.address=:443 - --providers.kubernetesingress diff --git a/docs/content/user-guides/crd-acme/03-deployments.yml b/docs/content/user-guides/crd-acme/03-deployments.yml index 2f3fd526d..81e806bd9 100644 --- a/docs/content/user-guides/crd-acme/03-deployments.yml +++ b/docs/content/user-guides/crd-acme/03-deployments.yml @@ -26,7 +26,7 @@ spec: serviceAccountName: traefik-ingress-controller containers: - name: traefik - image: traefik:v2.9 + image: traefik:v2.10 args: - --api.insecure - --accesslog diff --git a/docs/content/user-guides/crd-acme/index.md b/docs/content/user-guides/crd-acme/index.md index 67953a85b..c1397dc2c 100644 --- a/docs/content/user-guides/crd-acme/index.md +++ b/docs/content/user-guides/crd-acme/index.md @@ -49,10 +49,10 @@ and the RBAC authorization resources which will be referenced through the `servi ```bash # Install Traefik Resource Definitions: -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml # Install RBAC for Traefik: -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml ``` ### Services @@ -60,7 +60,7 @@ kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/con Then, the services. One for Traefik itself, and one for the app it routes for, i.e. in this case our demo HTTP server: [whoami](https://github.com/traefik/whoami). ```bash -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/user-guides/crd-acme/02-services.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/user-guides/crd-acme/02-services.yml ``` ```yaml @@ -73,7 +73,7 @@ Next, the deployments, i.e. the actual pods behind the services. Again, one pod for Traefik, and one for the whoami app. ```bash -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/user-guides/crd-acme/03-deployments.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/user-guides/crd-acme/03-deployments.yml ``` ```yaml @@ -100,7 +100,7 @@ Look it up. We can now finally apply the actual ingressRoutes, with: ```bash -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/user-guides/crd-acme/04-ingressroutes.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/user-guides/crd-acme/04-ingressroutes.yml ``` ```yaml @@ -126,7 +126,7 @@ Nowadays, TLS v1.0 and v1.1 are deprecated. In order to force TLS v1.2 or later on all your IngressRoute, you can define the `default` TLSOption: ```bash -kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/user-guides/crd-acme/05-tlsoption.yml +kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.10/docs/content/user-guides/crd-acme/05-tlsoption.yml ``` ```yaml diff --git a/docs/content/user-guides/crd-acme/k3s.yml b/docs/content/user-guides/crd-acme/k3s.yml index 495887054..71f4b7158 100644 --- a/docs/content/user-guides/crd-acme/k3s.yml +++ b/docs/content/user-guides/crd-acme/k3s.yml @@ -26,5 +26,5 @@ node: - K3S_CLUSTER_SECRET=somethingtotallyrandom volumes: # this is where you would place a alternative traefik image (saved as a .tar file with - # 'docker save'), if you want to use it, instead of the traefik:v2.9 image. + # 'docker save'), if you want to use it, instead of the traefik:v2.10 image. - /somewhere/on/your/host/custom-image:/var/lib/rancher/k3s/agent/images diff --git a/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml index 9ce36865a..1e69fdb9e 100644 --- a/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml +++ b/docs/content/user-guides/docker-compose/acme-dns/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.3" services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" container_name: "traefik" command: #- "--log.level=DEBUG" diff --git a/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml b/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml index ae22e954b..f2b7dd0f3 100644 --- a/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml +++ b/docs/content/user-guides/docker-compose/acme-dns/docker-compose_secrets.yml @@ -13,7 +13,7 @@ secrets: services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" container_name: "traefik" command: #- "--log.level=DEBUG" diff --git a/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml index 97256c0a4..249356bda 100644 --- a/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml +++ b/docs/content/user-guides/docker-compose/acme-http/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.3" services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" container_name: "traefik" command: #- "--log.level=DEBUG" diff --git a/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml b/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml index fc619b09a..008b7610f 100644 --- a/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml +++ b/docs/content/user-guides/docker-compose/acme-tls/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.3" services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" container_name: "traefik" command: #- "--log.level=DEBUG" diff --git a/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml b/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml index 0eae788e3..b93afdd3a 100644 --- a/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml +++ b/docs/content/user-guides/docker-compose/basic-example/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.3" services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" container_name: "traefik" command: #- "--log.level=DEBUG" diff --git a/docs/content/user-guides/docker-compose/basic-example/index.md b/docs/content/user-guides/docker-compose/basic-example/index.md index bda9ccca6..dccf3cbb4 100644 --- a/docs/content/user-guides/docker-compose/basic-example/index.md +++ b/docs/content/user-guides/docker-compose/basic-example/index.md @@ -32,7 +32,7 @@ This will also be used as a starting point for the other docker-compose guides. services: traefik: - image: "traefik:v2.9" + image: "traefik:v2.10" ... networks: - traefiknet diff --git a/integration/fixtures/k8s/01-traefik-crd.yml b/integration/fixtures/k8s/01-traefik-crd.yml index 967624d80..c17129245 100644 --- a/integration/fixtures/k8s/01-traefik-crd.yml +++ b/integration/fixtures/k8s/01-traefik-crd.yml @@ -39,7 +39,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -56,11 +56,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -79,7 +79,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -152,7 +152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -197,16 +197,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -224,15 +224,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -248,11 +248,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name @@ -314,7 +314,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -325,7 +325,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -348,7 +348,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -380,7 +380,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -411,16 +411,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -438,7 +438,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik @@ -532,7 +532,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -618,7 +618,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -638,7 +638,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -648,11 +648,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -672,7 +672,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -705,13 +705,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -765,7 +765,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -799,11 +799,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -822,7 +822,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -831,7 +831,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -895,7 +895,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -944,7 +944,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -967,7 +967,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -998,7 +998,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -1159,7 +1159,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -1173,11 +1173,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1205,11 +1205,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1233,7 +1233,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -1340,7 +1340,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -1373,7 +1373,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -1401,7 +1401,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1419,7 +1419,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -1435,7 +1435,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -1445,7 +1445,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -1461,7 +1461,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -1481,7 +1481,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -1498,7 +1498,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the @@ -1542,7 +1542,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1616,7 +1616,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1743,7 +1743,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1763,13 +1763,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -1796,7 +1796,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array @@ -1857,7 +1857,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -1955,7 +1955,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -2061,7 +2061,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2152,7 +2152,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2259,7 +2259,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2298,7 +2298,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2375,7 +2375,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2392,11 +2392,11 @@ spec: - Rule type: string match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule' type: string middlewares: description: 'Middlewares defines the list of references to - Middleware resources. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware' + Middleware resources. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware' items: description: MiddlewareRef is a reference to a Middleware resource. @@ -2415,7 +2415,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority' type: integer services: description: Services defines the list of Service. It can contain @@ -2488,7 +2488,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -2533,16 +2533,16 @@ spec: type: object type: array tls: - description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls' + description: 'TLS defines the TLS configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -2560,15 +2560,15 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: 'Name defines the name of the referenced TLSOption. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSOption. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption' + TLSOption. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption' type: string required: - name @@ -2584,11 +2584,11 @@ spec: properties: name: description: 'Name defines the name of the referenced TLSStore. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string namespace: description: 'Namespace defines the namespace of the referenced - TLSStore. More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore' + TLSStore. More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore' type: string required: - name @@ -2650,7 +2650,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2661,7 +2661,7 @@ spec: description: RouteTCP holds the TCP route configuration. properties: match: - description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1' + description: 'Match defines the router''s rule. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1' type: string middlewares: description: Middlewares defines the list of references to MiddlewareTCP @@ -2684,7 +2684,7 @@ spec: type: array priority: description: 'Priority defines the router''s priority. More - info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1' + info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1' type: integer services: description: Services defines the list of TCP services. @@ -2716,7 +2716,7 @@ spec: x-kubernetes-int-or-string: true proxyProtocol: description: 'ProxyProtocol defines the PROXY protocol - configuration. More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol' + configuration. More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol' properties: version: description: Version defines the PROXY Protocol version @@ -2747,16 +2747,16 @@ spec: type: array tls: description: 'TLS defines the TLS configuration on a layer 4 / TCP - Route. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1' + Route. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1' 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/v2.9/https/acme/#certificate-resolvers' + static configuration. More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers' type: string domains: description: 'Domains defines the list of domains that will be - used to issue certificates. More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains' + used to issue certificates. More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains' items: description: Domain holds a domain name with SANs. properties: @@ -2774,7 +2774,7 @@ spec: options: 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/v2.9/https/tls/#tls-options' + the `default` TLSOption is used. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: name: description: Name defines the name of the referenced Traefik @@ -2868,7 +2868,7 @@ spec: entryPoints: 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/v2.9/routing/entrypoints/ + More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ Default: all.' items: type: string @@ -2954,7 +2954,7 @@ spec: schema: openAPIV3Schema: description: 'Middleware is the CRD implementation of a Traefik Middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -2974,7 +2974,7 @@ spec: addPrefix: 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/v2.9/middlewares/http/addprefix/' + it. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/' properties: prefix: description: Prefix is the string to add before the current path @@ -2984,11 +2984,11 @@ spec: basicAuth: 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/v2.9/middlewares/http/basicauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -3008,7 +3008,7 @@ spec: buffering: 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes' + be forwarded to backends. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes' properties: maxRequestBodyBytes: description: 'MaxRequestBodyBytes defines the maximum allowed @@ -3041,13 +3041,13 @@ spec: retryExpression: 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/v2.9/middlewares/http/buffering/#retryexpression' + and OR (||). More info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/chain/' + pieces of middleware. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/' properties: middlewares: description: Middlewares is the list of MiddlewareRef which composes @@ -3101,7 +3101,7 @@ spec: compress: description: 'Compress holds the compress middleware configuration. This middleware compresses responses before sending them to the - client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/' + client, using gzip compression. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/' properties: excludedContentTypes: description: ExcludedContentTypes defines the list of content @@ -3135,11 +3135,11 @@ spec: digestAuth: 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/v2.9/middlewares/http/digestauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/' properties: headerField: description: 'HeaderField defines a header field to store the - authenticated user. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield' + authenticated user. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield' type: string realm: description: 'Realm allows the protected resources on a server @@ -3158,7 +3158,7 @@ spec: errors: 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/v2.9/middlewares/http/errorpages/' + to configured ranges of HTTP Status codes. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/' properties: query: description: Query defines the URL for the error page (hosted @@ -3167,7 +3167,7 @@ spec: type: string service: description: 'Service defines the reference to a Kubernetes Service - that will serve the error page. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service' + that will serve the error page. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service' properties: kind: description: Kind defines the kind of the Service. @@ -3231,7 +3231,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -3280,7 +3280,7 @@ spec: forwardAuth: description: 'ForwardAuth holds the forward auth middleware configuration. This middleware delegates the request authentication to a Service. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/' properties: address: description: Address defines the authentication server address. @@ -3303,7 +3303,7 @@ spec: 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex' + the regex. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex' type: string tls: description: TLS defines the configuration used to secure the @@ -3334,7 +3334,7 @@ spec: headers: description: 'Headers holds the headers middleware configuration. This middleware manages the requests and responses headers. More - info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders' + info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders' properties: accessControlAllowCredentials: description: AccessControlAllowCredentials defines whether the @@ -3495,7 +3495,7 @@ spec: inFlightReq: 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/v2.9/middlewares/http/inflightreq/' + served concurrently. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/' properties: amount: description: Amount defines the maximum amount of allowed simultaneous @@ -3509,11 +3509,11 @@ spec: 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/v2.9/middlewares/http/inflightreq/#sourcecriterion' + info: https://doc.traefik.io/traefik/v2.10/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/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3541,11 +3541,11 @@ spec: ipWhiteList: description: 'IPWhiteList holds the IP whitelist middleware configuration. This middleware accepts / refuses requests based on the client IP. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/' properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration used - by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3569,7 +3569,7 @@ spec: passTLSClientCert: 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/v2.9/middlewares/http/passtlsclientcert/' + client TLS certificate to a header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/' properties: info: description: Info selects the specific client certificate details @@ -3676,7 +3676,7 @@ spec: 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/v2.9/middlewares/http/ratelimit/' + allows one to define what fair is. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/' properties: average: description: Average is the maximum rate, by default in requests/s, @@ -3709,7 +3709,7 @@ spec: properties: ipStrategy: description: 'IPStrategy holds the IP strategy configuration - used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy' + used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy' properties: depth: description: Depth tells Traefik to use the X-Forwarded-For @@ -3737,7 +3737,7 @@ spec: redirectRegex: 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/v2.9/middlewares/http/redirectregex/#regex' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -3755,7 +3755,7 @@ spec: redirectScheme: 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/v2.9/middlewares/http/redirectscheme/' + to another. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/' properties: permanent: description: Permanent defines whether the redirection is permanent @@ -3771,7 +3771,7 @@ spec: replacePath: 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/v2.9/middlewares/http/replacepath/' + original path in an X-Replaced-Path header. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/' properties: path: description: Path defines the path to use as replacement in the @@ -3781,7 +3781,7 @@ spec: replacePathRegex: 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/v2.9/middlewares/http/replacepathregex/' + regex matching and replacement. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/' properties: regex: description: Regex defines the regular expression used to match @@ -3797,7 +3797,7 @@ spec: 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/v2.9/middlewares/http/retry/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/' properties: attempts: description: Attempts defines how many times the request should @@ -3817,7 +3817,7 @@ spec: stripPrefix: 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/v2.9/middlewares/http/stripprefix/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/' properties: forceSlash: description: 'ForceSlash ensures that the resulting stripped path @@ -3834,7 +3834,7 @@ spec: stripPrefixRegex: 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/v2.9/middlewares/http/stripprefixregex/' + the URL path. More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/' properties: regex: description: Regex defines the regular expression to match the @@ -3878,7 +3878,7 @@ spec: schema: openAPIV3Schema: description: 'MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. - More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/' + More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -3952,7 +3952,7 @@ spec: description: '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/v2.9/routing/services/#serverstransport_1' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4079,7 +4079,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/v2.9/https/tls/#tls-options' + https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4099,13 +4099,13 @@ 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/v2.9/https/tls/#alpn-protocols' + info: https://doc.traefik.io/traefik/v2.10/https/tls/#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/v2.9/https/tls/#cipher-suites' + for TLS versions up to TLS 1.2. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites' items: type: string type: array @@ -4132,7 +4132,7 @@ spec: type: object curvePreferences: description: 'CurvePreferences defines the preferred elliptic curves - in a specific order. More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences' + in a specific order. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences' items: type: string type: array @@ -4193,7 +4193,7 @@ spec: description: '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/v2.9/https/tls/#certificates-stores' + namespaces. More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4291,7 +4291,7 @@ spec: openAPIV3Schema: description: 'TraefikService is the CRD implementation of a Traefik Service. TraefikService object allows to: - Apply weight to Services on load-balancing - - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice' + - Mirror traffic on services More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice' properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -4397,7 +4397,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4488,7 +4488,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4595,7 +4595,7 @@ spec: type: string sticky: description: 'Sticky defines the sticky sessions configuration. - More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions' + More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions' properties: cookie: description: Cookie defines the sticky cookie configuration. @@ -4634,7 +4634,7 @@ spec: type: array sticky: description: 'Sticky defines whether sticky sessions are enabled. - More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' + More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing' properties: cookie: description: Cookie defines the sticky cookie configuration. diff --git a/pkg/config/dynamic/middlewares.go b/pkg/config/dynamic/middlewares.go index 0d849c273..9c6fb6610 100644 --- a/pkg/config/dynamic/middlewares.go +++ b/pkg/config/dynamic/middlewares.go @@ -55,7 +55,7 @@ type ContentType struct { // 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/v2.9/middlewares/http/addprefix/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/addprefix/ type AddPrefix struct { // Prefix is the string to add before the current path in the requested URL. // It should include a leading slash (/). @@ -66,7 +66,7 @@ type AddPrefix struct { // BasicAuth holds the basic auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/ type BasicAuth struct { // Users is an array of authorized users. // Each user must be declared using the name:hashed-password format. @@ -81,7 +81,7 @@ type BasicAuth struct { // Default: false. RemoveHeader bool `json:"removeHeader,omitempty" toml:"removeHeader,omitempty" yaml:"removeHeader,omitempty" export:"true"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` } @@ -89,7 +89,7 @@ type BasicAuth struct { // 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/v2.9/middlewares/http/buffering/#maxrequestbodybytes +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#maxrequestbodybytes type Buffering struct { // MaxRequestBodyBytes defines the maximum allowed body size for the request (in bytes). // If the request exceeds the allowed size, it is not forwarded to the service, and the client gets a 413 (Request Entity Too Large) response. @@ -107,7 +107,7 @@ type Buffering struct { MemResponseBodyBytes int64 `json:"memResponseBodyBytes,omitempty" toml:"memResponseBodyBytes,omitempty" yaml:"memResponseBodyBytes,omitempty" export:"true"` // RetryExpression defines the retry conditions. // It is a logical combination of functions with operators AND (&&) and OR (||). - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/buffering/#retryexpression + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/buffering/#retryexpression RetryExpression string `json:"retryExpression,omitempty" toml:"retryExpression,omitempty" yaml:"retryExpression,omitempty" export:"true"` } @@ -124,7 +124,7 @@ type Chain struct { // CircuitBreaker holds the circuit breaker middleware configuration. // This middleware protects the system from stacking requests to unhealthy services, resulting in cascading failures. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/circuitbreaker/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/circuitbreaker/ type CircuitBreaker struct { // Expression defines the expression that, once matched, opens the circuit breaker and applies the fallback mechanism instead of calling the services. Expression string `json:"expression,omitempty" toml:"expression,omitempty" yaml:"expression,omitempty" export:"true"` @@ -147,7 +147,7 @@ func (c *CircuitBreaker) SetDefaults() { // Compress holds the compress middleware configuration. // This middleware compresses responses before sending them to the client, using gzip compression. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/compress/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/compress/ type Compress struct { // ExcludedContentTypes defines the list of content types to compare the Content-Type header of the incoming requests and responses before compressing. ExcludedContentTypes []string `json:"excludedContentTypes,omitempty" toml:"excludedContentTypes,omitempty" yaml:"excludedContentTypes,omitempty" export:"true"` @@ -160,7 +160,7 @@ type Compress struct { // DigestAuth holds the digest auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/digestauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/ type DigestAuth struct { // Users defines the authorized users. // Each user should be declared using the name:realm:encoded-password format. @@ -173,7 +173,7 @@ type DigestAuth struct { // Default: traefik. Realm string `json:"realm,omitempty" toml:"realm,omitempty" yaml:"realm,omitempty"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty" toml:"headerField,omitempty" yaml:"headerField,omitempty" export:"true"` } @@ -199,7 +199,7 @@ type ErrorPage struct { // ForwardAuth holds the forward auth middleware configuration. // This middleware delegates the request authentication to a Service. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/ type ForwardAuth struct { // Address defines the authentication server address. Address string `json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"` @@ -210,7 +210,7 @@ type ForwardAuth struct { // AuthResponseHeaders defines the list of headers to copy from the authentication server response and set on forwarded request, replacing any existing conflicting headers. AuthResponseHeaders []string `json:"authResponseHeaders,omitempty" toml:"authResponseHeaders,omitempty" yaml:"authResponseHeaders,omitempty" export:"true"` // 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex AuthResponseHeadersRegex string `json:"authResponseHeadersRegex,omitempty" toml:"authResponseHeadersRegex,omitempty" yaml:"authResponseHeadersRegex,omitempty" export:"true"` // AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server. // If not set or empty then all request headers are passed. @@ -221,7 +221,7 @@ type ForwardAuth struct { // Headers holds the headers middleware configuration. // This middleware manages the requests and responses headers. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/headers/#customrequestheaders +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/headers/#customrequestheaders type Headers struct { // CustomRequestHeaders defines the header names and values to apply to the request. CustomRequestHeaders map[string]string `json:"customRequestHeaders,omitempty" toml:"customRequestHeaders,omitempty" yaml:"customRequestHeaders,omitempty" export:"true"` @@ -346,7 +346,7 @@ func (h *Headers) HasSecureHeadersDefined() bool { // +k8s:deepcopy-gen=true // IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/#ipstrategy +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/#ipstrategy type IPStrategy struct { // Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right). Depth int `json:"depth,omitempty" toml:"depth,omitempty" yaml:"depth,omitempty" export:"true"` @@ -387,7 +387,7 @@ func (s *IPStrategy) Get() (ip.Strategy, error) { // IPWhiteList holds the IP whitelist middleware configuration. // This middleware accepts / refuses requests based on the client IP. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/ipwhitelist/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ipwhitelist/ type IPWhiteList struct { // SourceRange defines the set of allowed IPs (or ranges of allowed IPs by using CIDR notation). SourceRange []string `json:"sourceRange,omitempty" toml:"sourceRange,omitempty" yaml:"sourceRange,omitempty"` @@ -398,7 +398,7 @@ type IPWhiteList struct { // 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/v2.9/middlewares/http/inflightreq/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/ type InFlightReq struct { // Amount defines the maximum amount of allowed simultaneous in-flight request. // The middleware responds with HTTP 429 Too Many Requests if there are already amount requests in progress (based on the same sourceCriterion strategy). @@ -406,7 +406,7 @@ type InFlightReq struct { // 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/v2.9/middlewares/http/inflightreq/#sourcecriterion + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/inflightreq/#sourcecriterion SourceCriterion *SourceCriterion `json:"sourceCriterion,omitempty" toml:"sourceCriterion,omitempty" yaml:"sourceCriterion,omitempty" export:"true"` } @@ -414,7 +414,7 @@ type InFlightReq struct { // 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/v2.9/middlewares/http/passtlsclientcert/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/passtlsclientcert/ type PassTLSClientCert struct { // PEM sets the X-Forwarded-Tls-Client-Cert header with the certificate. PEM bool `json:"pem,omitempty" toml:"pem,omitempty" yaml:"pem,omitempty" export:"true"` @@ -470,7 +470,7 @@ func (r *RateLimit) SetDefaults() { // RedirectRegex holds the redirect regex middleware configuration. // This middleware redirects a request using regex matching and replacement. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/redirectregex/#regex +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectregex/#regex type RedirectRegex struct { // Regex defines the regex used to match and capture elements from the request URL. Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty"` @@ -484,7 +484,7 @@ type RedirectRegex struct { // RedirectScheme holds the redirect scheme middleware configuration. // This middleware redirects requests from a scheme/port to another. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/redirectscheme/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/redirectscheme/ type RedirectScheme struct { // Scheme defines the scheme of the new URL. Scheme string `json:"scheme,omitempty" toml:"scheme,omitempty" yaml:"scheme,omitempty" export:"true"` @@ -498,7 +498,7 @@ type RedirectScheme struct { // 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/v2.9/middlewares/http/replacepath/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepath/ type ReplacePath struct { // Path defines the path to use as replacement in the request URL. Path string `json:"path,omitempty" toml:"path,omitempty" yaml:"path,omitempty" export:"true"` @@ -508,7 +508,7 @@ type ReplacePath struct { // 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/v2.9/middlewares/http/replacepathregex/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/replacepathregex/ type ReplacePathRegex struct { // Regex defines the regular expression used to match and capture the path from the request URL. Regex string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"` @@ -521,7 +521,7 @@ type ReplacePathRegex struct { // 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/v2.9/middlewares/http/retry/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/ type Retry struct { // Attempts defines how many times the request should be retried. Attempts int `json:"attempts,omitempty" toml:"attempts,omitempty" yaml:"attempts,omitempty" export:"true"` @@ -537,7 +537,7 @@ type Retry struct { // StripPrefix holds the strip prefix middleware configuration. // This middleware removes the specified prefixes from the URL path. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/stripprefix/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefix/ type StripPrefix struct { // Prefixes defines the prefixes to strip from the request URL. Prefixes []string `json:"prefixes,omitempty" toml:"prefixes,omitempty" yaml:"prefixes,omitempty" export:"true"` @@ -555,7 +555,7 @@ func (s *StripPrefix) SetDefaults() { // 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/v2.9/middlewares/http/stripprefixregex/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/stripprefixregex/ type StripPrefixRegex struct { // Regex defines the regular expression to match the path prefix from the request URL. Regex []string `json:"regex,omitempty" toml:"regex,omitempty" yaml:"regex,omitempty" export:"true"` diff --git a/pkg/config/dynamic/tcp_config.go b/pkg/config/dynamic/tcp_config.go index 9c84d3e5d..0f986db46 100644 --- a/pkg/config/dynamic/tcp_config.go +++ b/pkg/config/dynamic/tcp_config.go @@ -114,7 +114,7 @@ type TCPServer struct { // +k8s:deepcopy-gen=true // ProxyProtocol holds the PROXY Protocol configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol type ProxyProtocol struct { // Version defines the PROXY Protocol version to use. Version int `json:"version,omitempty" toml:"version,omitempty" yaml:"version,omitempty" export:"true"` diff --git a/pkg/config/dynamic/tcp_middlewares.go b/pkg/config/dynamic/tcp_middlewares.go index 620db44b4..e0cf31919 100644 --- a/pkg/config/dynamic/tcp_middlewares.go +++ b/pkg/config/dynamic/tcp_middlewares.go @@ -13,7 +13,7 @@ type TCPMiddleware struct { // TCPInFlightConn holds the TCP InFlightConn middleware configuration. // This middleware prevents services from being overwhelmed with high load, // by limiting the number of allowed simultaneous connections for one IP. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/tcp/inflightconn/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/tcp/inflightconn/ type TCPInFlightConn struct { // Amount defines the maximum amount of allowed simultaneous connections. // The middleware closes the connection if there are already amount connections opened. diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroute.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroute.go index e81dc6723..27df9c505 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroute.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroute.go @@ -13,72 +13,72 @@ type IngressRouteSpec struct { Routes []Route `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` // TLS defines the TLS configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls TLS *TLS `json:"tls,omitempty"` } // Route holds the HTTP route configuration. type Route struct { // Match defines the router's rule. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule Match string `json:"match"` // Kind defines the kind of the route. // Rule is the only supported kind. // +kubebuilder:validation:Enum=Rule Kind string `json:"kind"` // Priority defines the router's priority. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority Priority int `json:"priority,omitempty"` // Services defines the list of Service. // It can contain any combination of TraefikService and/or reference to a Kubernetes Service. Services []Service `json:"services,omitempty"` // Middlewares defines the list of references to Middleware resources. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware Middlewares []MiddlewareRef `json:"middlewares,omitempty"` } // TLS holds the TLS configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls +// More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls type TLS struct { // SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. SecretName string `json:"secretName,omitempty"` // 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/v2.9/https/tls/#tls-options + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options Options *TLSOptionRef `json:"options,omitempty"` // Store defines the reference to the TLSStore, that will be used to store certificates. // Please note that only `default` TLSStore can be used. Store *TLSStoreRef `json:"store,omitempty"` // 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/v2.9/https/acme/#certificate-resolvers + // More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers CertResolver string `json:"certResolver,omitempty"` // Domains defines the list of domains that will be used to issue certificates. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` } // TLSOptionRef is a reference to a TLSOption resource. type TLSOptionRef struct { // Name defines the name of the referenced TLSOption. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption Name string `json:"name"` // Namespace defines the namespace of the referenced TLSOption. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption Namespace string `json:"namespace,omitempty"` } // TLSStoreRef is a reference to a TLSStore resource. type TLSStoreRef struct { // Name defines the name of the referenced TLSStore. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore Name string `json:"name"` // Namespace defines the namespace of the referenced TLSStore. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore Namespace string `json:"namespace,omitempty"` } @@ -95,7 +95,7 @@ type LoadBalancerSpec struct { // Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. Namespace string `json:"namespace,omitempty"` // Sticky defines the sticky sessions configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions + // More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions Sticky *dynamic.Sticky `json:"sticky,omitempty"` // Port defines the port of a Kubernetes Service. // This can be a reference to a named port. diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroutetcp.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroutetcp.go index 51ebf95f1..acc3c94e7 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroutetcp.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressroutetcp.go @@ -13,21 +13,21 @@ type IngressRouteTCPSpec struct { Routes []RouteTCP `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` // TLS defines the TLS configuration on a layer 4 / TCP Route. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1 TLS *TLSTCP `json:"tls,omitempty"` } // RouteTCP holds the TCP route configuration. type RouteTCP struct { // Match defines the router's rule. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1 Match string `json:"match"` // Priority defines the router's priority. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1 Priority int `json:"priority,omitempty"` // Services defines the list of TCP services. Services []ServiceTCP `json:"services,omitempty"` @@ -36,7 +36,7 @@ type RouteTCP struct { } // TLSTCP holds the TLS configuration for an IngressRouteTCP. -// More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1 +// More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1 type TLSTCP struct { // SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. SecretName string `json:"secretName,omitempty"` @@ -44,17 +44,17 @@ type TLSTCP struct { Passthrough bool `json:"passthrough,omitempty"` // 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/v2.9/https/tls/#tls-options + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options Options *ObjectReference `json:"options,omitempty"` // Store defines the reference to the TLSStore, that will be used to store certificates. // Please note that only `default` TLSStore can be used. Store *ObjectReference `json:"store,omitempty"` // 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/v2.9/https/acme/#certificate-resolvers + // More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers CertResolver string `json:"certResolver,omitempty"` // Domains defines the list of domains that will be used to issue certificates. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` } @@ -76,7 +76,7 @@ type ServiceTCP struct { // A negative value means an infinite deadline (i.e. the reading capability is never closed). TerminationDelay *int `json:"terminationDelay,omitempty"` // ProxyProtocol defines the PROXY protocol configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol + // More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol ProxyProtocol *dynamic.ProxyProtocol `json:"proxyProtocol,omitempty"` // NativeLB controls, when creating the load-balancer, // whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressrouteudp.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressrouteudp.go index fed269d22..84dd9b652 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressrouteudp.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/ingressrouteudp.go @@ -11,7 +11,7 @@ type IngressRouteUDPSpec struct { Routes []RouteUDP `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middleware.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middleware.go index b53f5905f..54dbe07e6 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middleware.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middleware.go @@ -12,7 +12,7 @@ import ( // +kubebuilder:storageversion // Middleware is the CRD implementation of a Traefik Middleware. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/ type Middleware struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -57,7 +57,7 @@ type MiddlewareSpec struct { // 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/v2.9/middlewares/http/errorpages/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/ type ErrorPage struct { // Status defines which status or range of statuses should result in an error page. // It can be either a status code as a number (500), @@ -66,7 +66,7 @@ type ErrorPage struct { // or a combination of the two (404,418,500-599). Status []string `json:"status,omitempty"` // Service defines the reference to a Kubernetes Service that will serve the error page. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service Service Service `json:"service,omitempty"` // Query defines the URL for the error page (hosted by service). // The {status} variable can be used in order to insert the status code in the URL. @@ -91,7 +91,7 @@ type CircuitBreaker struct { // 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/v2.9/middlewares/http/chain/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/ type Chain struct { // Middlewares is the list of MiddlewareRef which composes the chain. Middlewares []MiddlewareRef `json:"middlewares,omitempty"` @@ -101,7 +101,7 @@ type Chain struct { // BasicAuth holds the basic auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/ type BasicAuth struct { // Secret is the name of the referenced Kubernetes Secret containing user credentials. Secret string `json:"secret,omitempty"` @@ -112,7 +112,7 @@ type BasicAuth struct { // Default: false. RemoveHeader bool `json:"removeHeader,omitempty"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty"` } @@ -120,7 +120,7 @@ type BasicAuth struct { // DigestAuth holds the digest auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/digestauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/ type DigestAuth struct { // Secret is the name of the referenced Kubernetes Secret containing user credentials. Secret string `json:"secret,omitempty"` @@ -130,7 +130,7 @@ type DigestAuth struct { // Default: traefik. Realm string `json:"realm,omitempty"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty"` } @@ -138,7 +138,7 @@ type DigestAuth struct { // ForwardAuth holds the forward auth middleware configuration. // This middleware delegates the request authentication to a Service. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/ type ForwardAuth struct { // Address defines the authentication server address. Address string `json:"address,omitempty"` @@ -147,7 +147,7 @@ type ForwardAuth struct { // AuthResponseHeaders defines the list of headers to copy from the authentication server response and set on forwarded request, replacing any existing conflicting headers. AuthResponseHeaders []string `json:"authResponseHeaders,omitempty"` // 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex AuthResponseHeadersRegex string `json:"authResponseHeadersRegex,omitempty"` // AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server. // If not set or empty then all request headers are passed. @@ -173,7 +173,7 @@ type ClientTLS struct { // 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/v2.9/middlewares/http/ratelimit/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/ type RateLimit struct { // Average is the maximum rate, by default in requests/s, allowed for the given source. // It defaults to 0, which means no rate limiting. @@ -197,7 +197,7 @@ type RateLimit struct { // 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/v2.9/middlewares/http/retry/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/ type Retry struct { // Attempts defines how many times the request should be retried. Attempts int `json:"attempts,omitempty"` diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middlewaretcp.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middlewaretcp.go index 28fc85d8f..c903a8ca7 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middlewaretcp.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/middlewaretcp.go @@ -9,7 +9,7 @@ import ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/ type MiddlewareTCP struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/serverstransport.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/serverstransport.go index 20bc7d18a..be4d9decb 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/serverstransport.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/serverstransport.go @@ -12,7 +12,7 @@ import ( // 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/v2.9/routing/services/#serverstransport_1 +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1 type ServersTransport struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/service.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/service.go index ea4549fe7..b14625897 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/service.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/service.go @@ -13,7 +13,7 @@ import ( // TraefikService object allows to: // - Apply weight to Services on load-balancing // - Mirror traffic on services -// More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice +// More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice type TraefikService struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -49,7 +49,7 @@ type TraefikServiceSpec struct { // +k8s:deepcopy-gen=true // Mirroring holds the mirroring service configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/services/#mirroring-service +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#mirroring-service type Mirroring struct { LoadBalancerSpec `json:",inline"` @@ -75,11 +75,11 @@ type MirrorService struct { // +k8s:deepcopy-gen=true // WeightedRoundRobin holds the weighted round-robin configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/services/#weighted-round-robin-service +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#weighted-round-robin-service type WeightedRoundRobin struct { // Services defines the list of Kubernetes Service and/or TraefikService to load-balance, with weight. Services []Service `json:"services,omitempty"` // Sticky defines whether sticky sessions are enabled. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing Sticky *dynamic.Sticky `json:"sticky,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsoption.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsoption.go index 850b7107e..996e36a94 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsoption.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsoption.go @@ -9,7 +9,7 @@ import ( // +kubebuilder:storageversion // 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/v2.9/https/tls/#tls-options +// More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options type TLSOption struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -32,10 +32,10 @@ type TLSOptionSpec struct { // Default: None. MaxVersion string `json:"maxVersion,omitempty"` // CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#cipher-suites + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites CipherSuites []string `json:"cipherSuites,omitempty"` // CurvePreferences defines the preferred elliptic curves in a specific order. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences CurvePreferences []string `json:"curvePreferences,omitempty"` // ClientAuth defines the server's policy for TLS Client Authentication. ClientAuth ClientAuth `json:"clientAuth,omitempty"` @@ -46,7 +46,7 @@ type TLSOptionSpec struct { // Deprecated: https://github.com/golang/go/issues/45430 PreferServerCipherSuites bool `json:"preferServerCipherSuites,omitempty"` // ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#alpn-protocols + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols ALPNProtocols []string `json:"alpnProtocols,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsstore.go b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsstore.go index c55884210..082dbc5b1 100644 --- a/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsstore.go +++ b/pkg/provider/kubernetes/crd/traefikcontainous/v1alpha1/tlsstore.go @@ -12,7 +12,7 @@ import ( // 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/v2.9/https/tls/#certificates-stores +// More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores type TLSStore struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go index e81dc6723..27df9c505 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroute.go @@ -13,72 +13,72 @@ type IngressRouteSpec struct { Routes []Route `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` // TLS defines the TLS configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls TLS *TLS `json:"tls,omitempty"` } // Route holds the HTTP route configuration. type Route struct { // Match defines the router's rule. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule Match string `json:"match"` // Kind defines the kind of the route. // Rule is the only supported kind. // +kubebuilder:validation:Enum=Rule Kind string `json:"kind"` // Priority defines the router's priority. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority Priority int `json:"priority,omitempty"` // Services defines the list of Service. // It can contain any combination of TraefikService and/or reference to a Kubernetes Service. Services []Service `json:"services,omitempty"` // Middlewares defines the list of references to Middleware resources. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-middleware + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-middleware Middlewares []MiddlewareRef `json:"middlewares,omitempty"` } // TLS holds the TLS configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls +// More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls type TLS struct { // SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. SecretName string `json:"secretName,omitempty"` // 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/v2.9/https/tls/#tls-options + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options Options *TLSOptionRef `json:"options,omitempty"` // Store defines the reference to the TLSStore, that will be used to store certificates. // Please note that only `default` TLSStore can be used. Store *TLSStoreRef `json:"store,omitempty"` // 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/v2.9/https/acme/#certificate-resolvers + // More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers CertResolver string `json:"certResolver,omitempty"` // Domains defines the list of domains that will be used to issue certificates. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` } // TLSOptionRef is a reference to a TLSOption resource. type TLSOptionRef struct { // Name defines the name of the referenced TLSOption. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption Name string `json:"name"` // Namespace defines the namespace of the referenced TLSOption. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsoption + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsoption Namespace string `json:"namespace,omitempty"` } // TLSStoreRef is a reference to a TLSStore resource. type TLSStoreRef struct { // Name defines the name of the referenced TLSStore. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore Name string `json:"name"` // Namespace defines the namespace of the referenced TLSStore. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-tlsstore + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-tlsstore Namespace string `json:"namespace,omitempty"` } @@ -95,7 +95,7 @@ type LoadBalancerSpec struct { // Namespace defines the namespace of the referenced Kubernetes Service or TraefikService. Namespace string `json:"namespace,omitempty"` // Sticky defines the sticky sessions configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/services/#sticky-sessions + // More info: https://doc.traefik.io/traefik/v2.10/routing/services/#sticky-sessions Sticky *dynamic.Sticky `json:"sticky,omitempty"` // Port defines the port of a Kubernetes Service. // This can be a reference to a named port. diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go index 51ebf95f1..acc3c94e7 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressroutetcp.go @@ -13,21 +13,21 @@ type IngressRouteTCPSpec struct { Routes []RouteTCP `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` // TLS defines the TLS configuration on a layer 4 / TCP Route. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1 TLS *TLSTCP `json:"tls,omitempty"` } // RouteTCP holds the TCP route configuration. type RouteTCP struct { // Match defines the router's rule. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#rule_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#rule_1 Match string `json:"match"` // Priority defines the router's priority. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#priority_1 + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#priority_1 Priority int `json:"priority,omitempty"` // Services defines the list of TCP services. Services []ServiceTCP `json:"services,omitempty"` @@ -36,7 +36,7 @@ type RouteTCP struct { } // TLSTCP holds the TLS configuration for an IngressRouteTCP. -// More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#tls_1 +// More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#tls_1 type TLSTCP struct { // SecretName is the name of the referenced Kubernetes Secret to specify the certificate details. SecretName string `json:"secretName,omitempty"` @@ -44,17 +44,17 @@ type TLSTCP struct { Passthrough bool `json:"passthrough,omitempty"` // 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/v2.9/https/tls/#tls-options + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options Options *ObjectReference `json:"options,omitempty"` // Store defines the reference to the TLSStore, that will be used to store certificates. // Please note that only `default` TLSStore can be used. Store *ObjectReference `json:"store,omitempty"` // 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/v2.9/https/acme/#certificate-resolvers + // More info: https://doc.traefik.io/traefik/v2.10/https/acme/#certificate-resolvers CertResolver string `json:"certResolver,omitempty"` // Domains defines the list of domains that will be used to issue certificates. - // More info: https://doc.traefik.io/traefik/v2.9/routing/routers/#domains + // More info: https://doc.traefik.io/traefik/v2.10/routing/routers/#domains Domains []types.Domain `json:"domains,omitempty"` } @@ -76,7 +76,7 @@ type ServiceTCP struct { // A negative value means an infinite deadline (i.e. the reading capability is never closed). TerminationDelay *int `json:"terminationDelay,omitempty"` // ProxyProtocol defines the PROXY protocol configuration. - // More info: https://doc.traefik.io/traefik/v2.9/routing/services/#proxy-protocol + // More info: https://doc.traefik.io/traefik/v2.10/routing/services/#proxy-protocol ProxyProtocol *dynamic.ProxyProtocol `json:"proxyProtocol,omitempty"` // NativeLB controls, when creating the load-balancer, // whether the LB's children are directly the pods IPs or if the only child is the Kubernetes Service clusterIP. diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go index fed269d22..84dd9b652 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/ingressrouteudp.go @@ -11,7 +11,7 @@ type IngressRouteUDPSpec struct { Routes []RouteUDP `json:"routes"` // 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/v2.9/routing/entrypoints/ + // More info: https://doc.traefik.io/traefik/v2.10/routing/entrypoints/ // Default: all. EntryPoints []string `json:"entryPoints,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go index b53f5905f..54dbe07e6 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middleware.go @@ -12,7 +12,7 @@ import ( // +kubebuilder:storageversion // Middleware is the CRD implementation of a Traefik Middleware. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/overview/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/overview/ type Middleware struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -57,7 +57,7 @@ type MiddlewareSpec struct { // 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/v2.9/middlewares/http/errorpages/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/ type ErrorPage struct { // Status defines which status or range of statuses should result in an error page. // It can be either a status code as a number (500), @@ -66,7 +66,7 @@ type ErrorPage struct { // or a combination of the two (404,418,500-599). Status []string `json:"status,omitempty"` // Service defines the reference to a Kubernetes Service that will serve the error page. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/errorpages/#service + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/errorpages/#service Service Service `json:"service,omitempty"` // Query defines the URL for the error page (hosted by service). // The {status} variable can be used in order to insert the status code in the URL. @@ -91,7 +91,7 @@ type CircuitBreaker struct { // 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/v2.9/middlewares/http/chain/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/chain/ type Chain struct { // Middlewares is the list of MiddlewareRef which composes the chain. Middlewares []MiddlewareRef `json:"middlewares,omitempty"` @@ -101,7 +101,7 @@ type Chain struct { // BasicAuth holds the basic auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/ type BasicAuth struct { // Secret is the name of the referenced Kubernetes Secret containing user credentials. Secret string `json:"secret,omitempty"` @@ -112,7 +112,7 @@ type BasicAuth struct { // Default: false. RemoveHeader bool `json:"removeHeader,omitempty"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty"` } @@ -120,7 +120,7 @@ type BasicAuth struct { // DigestAuth holds the digest auth middleware configuration. // This middleware restricts access to your services to known users. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/digestauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/digestauth/ type DigestAuth struct { // Secret is the name of the referenced Kubernetes Secret containing user credentials. Secret string `json:"secret,omitempty"` @@ -130,7 +130,7 @@ type DigestAuth struct { // Default: traefik. Realm string `json:"realm,omitempty"` // HeaderField defines a header field to store the authenticated user. - // More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/basicauth/#headerfield + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/basicauth/#headerfield HeaderField string `json:"headerField,omitempty"` } @@ -138,7 +138,7 @@ type DigestAuth struct { // ForwardAuth holds the forward auth middleware configuration. // This middleware delegates the request authentication to a Service. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/http/forwardauth/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/ type ForwardAuth struct { // Address defines the authentication server address. Address string `json:"address,omitempty"` @@ -147,7 +147,7 @@ type ForwardAuth struct { // AuthResponseHeaders defines the list of headers to copy from the authentication server response and set on forwarded request, replacing any existing conflicting headers. AuthResponseHeaders []string `json:"authResponseHeaders,omitempty"` // 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/v2.9/middlewares/http/forwardauth/#authresponseheadersregex + // More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/forwardauth/#authresponseheadersregex AuthResponseHeadersRegex string `json:"authResponseHeadersRegex,omitempty"` // AuthRequestHeaders defines the list of the headers to copy from the request to the authentication server. // If not set or empty then all request headers are passed. @@ -173,7 +173,7 @@ type ClientTLS struct { // 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/v2.9/middlewares/http/ratelimit/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/ratelimit/ type RateLimit struct { // Average is the maximum rate, by default in requests/s, allowed for the given source. // It defaults to 0, which means no rate limiting. @@ -197,7 +197,7 @@ type RateLimit struct { // 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/v2.9/middlewares/http/retry/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/http/retry/ type Retry struct { // Attempts defines how many times the request should be retried. Attempts int `json:"attempts,omitempty"` diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go index 28fc85d8f..c903a8ca7 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/middlewaretcp.go @@ -9,7 +9,7 @@ import ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MiddlewareTCP is the CRD implementation of a Traefik TCP middleware. -// More info: https://doc.traefik.io/traefik/v2.9/middlewares/overview/ +// More info: https://doc.traefik.io/traefik/v2.10/middlewares/overview/ type MiddlewareTCP struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go index 20bc7d18a..be4d9decb 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/serverstransport.go @@ -12,7 +12,7 @@ import ( // 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/v2.9/routing/services/#serverstransport_1 +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#serverstransport_1 type ServersTransport struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go index ea4549fe7..b14625897 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/service.go @@ -13,7 +13,7 @@ import ( // TraefikService object allows to: // - Apply weight to Services on load-balancing // - Mirror traffic on services -// More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#kind-traefikservice +// More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#kind-traefikservice type TraefikService struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -49,7 +49,7 @@ type TraefikServiceSpec struct { // +k8s:deepcopy-gen=true // Mirroring holds the mirroring service configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/services/#mirroring-service +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#mirroring-service type Mirroring struct { LoadBalancerSpec `json:",inline"` @@ -75,11 +75,11 @@ type MirrorService struct { // +k8s:deepcopy-gen=true // WeightedRoundRobin holds the weighted round-robin configuration. -// More info: https://doc.traefik.io/traefik/v2.9/routing/services/#weighted-round-robin-service +// More info: https://doc.traefik.io/traefik/v2.10/routing/services/#weighted-round-robin-service type WeightedRoundRobin struct { // Services defines the list of Kubernetes Service and/or TraefikService to load-balance, with weight. Services []Service `json:"services,omitempty"` // Sticky defines whether sticky sessions are enabled. - // More info: https://doc.traefik.io/traefik/v2.9/routing/providers/kubernetes-crd/#stickiness-and-load-balancing + // More info: https://doc.traefik.io/traefik/v2.10/routing/providers/kubernetes-crd/#stickiness-and-load-balancing Sticky *dynamic.Sticky `json:"sticky,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go index 850b7107e..996e36a94 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsoption.go @@ -9,7 +9,7 @@ import ( // +kubebuilder:storageversion // 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/v2.9/https/tls/#tls-options +// More info: https://doc.traefik.io/traefik/v2.10/https/tls/#tls-options type TLSOption struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. @@ -32,10 +32,10 @@ type TLSOptionSpec struct { // Default: None. MaxVersion string `json:"maxVersion,omitempty"` // CipherSuites defines the list of supported cipher suites for TLS versions up to TLS 1.2. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#cipher-suites + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#cipher-suites CipherSuites []string `json:"cipherSuites,omitempty"` // CurvePreferences defines the preferred elliptic curves in a specific order. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#curve-preferences + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#curve-preferences CurvePreferences []string `json:"curvePreferences,omitempty"` // ClientAuth defines the server's policy for TLS Client Authentication. ClientAuth ClientAuth `json:"clientAuth,omitempty"` @@ -46,7 +46,7 @@ type TLSOptionSpec struct { // Deprecated: https://github.com/golang/go/issues/45430 PreferServerCipherSuites bool `json:"preferServerCipherSuites,omitempty"` // ALPNProtocols defines the list of supported application level protocols for the TLS handshake, in order of preference. - // More info: https://doc.traefik.io/traefik/v2.9/https/tls/#alpn-protocols + // More info: https://doc.traefik.io/traefik/v2.10/https/tls/#alpn-protocols ALPNProtocols []string `json:"alpnProtocols,omitempty"` } diff --git a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go index c55884210..082dbc5b1 100644 --- a/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go +++ b/pkg/provider/kubernetes/crd/traefikio/v1alpha1/tlsstore.go @@ -12,7 +12,7 @@ import ( // 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/v2.9/https/tls/#certificates-stores +// More info: https://doc.traefik.io/traefik/v2.10/https/tls/#certificates-stores type TLSStore struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata.