diff --git a/docs/content/migrate/v2.md b/docs/content/migrate/v2.md new file mode 100644 index 000000000..4816bff90 --- /dev/null +++ b/docs/content/migrate/v2.md @@ -0,0 +1,11 @@ +--- +title: "Traefik V2 Migration Documentation" +description: "Learn the steps needed to migrate to new Traefik Proxy v2 versions, i.e. v2.0 to v2.1 or v2.1 to v2.2. Read the technical documentation." +--- + +# Migration: Steps needed between the v2 versions + +The multiple minor versions of Traefik v2 introduced a number of changes, +which may require one to update their configuration when they migrate. + +For more information about the changes between Traefik v2 minor versions, please refer to the [v2 documentation](https://doc.traefik.io/traefik/v2.11/migration/v2/). diff --git a/docs/content/reference/install-configuration/api-dashboard.md b/docs/content/reference/install-configuration/api-dashboard.md index 948f06998..9f03454ca 100644 --- a/docs/content/reference/install-configuration/api-dashboard.md +++ b/docs/content/reference/install-configuration/api-dashboard.md @@ -156,6 +156,7 @@ enabing the dashboard [here](https://github.com/traefik/traefik-helm-chart/blob/ | Field | Description | Default | Required | |:-----------|:---------------------------------|:--------|:---------| | `api` | Enable api/dashboard. When set to `true`, its sub option `api.dashboard` is also set to true.| false | No | +| api.basepath | Defines the base path where the API and Dashboard will be exposed. | / | No | | `api.dashboard` | Enable dashboard. | false | No | | `api.debug` | Enable additional endpoints for debugging and profiling. | false | No | | `api.disabledashboardad` | Disable the advertisement from the dashboard. | false | No | @@ -195,9 +196,14 @@ All the following endpoints must be accessed with a `GET` HTTP request. | `/debug/pprof/symbol` | See the [pprof Symbol](https://golang.org/pkg/net/http/pprof/#Symbol) Go documentation. | | `/debug/pprof/trace` | See the [pprof Trace](https://golang.org/pkg/net/http/pprof/#Trace) Go documentation. | + +!!! note "Base Path Configuration" + + By default, Traefik exposes its API and Dashboard under the `/` base path. It's possible to configure it with `api.basepath`. When configured, all endpoints (api, dashboard, debug) are using it. + ## Dashboard -The dashboard is available at the same location as the [API](../../operations/api.md), but by default on the path `/dashboard/`. +The dashboard is available at the same location as the API, but by default on the path `/dashboard/`. !!! note diff --git a/docs/content/reference/install-configuration/providers/kubernetes/kubernetes-crd.md b/docs/content/reference/install-configuration/providers/kubernetes/kubernetes-crd.md index 15ea9c9c0..50ea7ff2d 100644 --- a/docs/content/reference/install-configuration/providers/kubernetes/kubernetes-crd.md +++ b/docs/content/reference/install-configuration/providers/kubernetes/kubernetes-crd.md @@ -113,8 +113,8 @@ See the dedicated section in [routing](../../../../routing/providers/kubernetes- | [IngressRoute](../../../routing-configuration/kubernetes/crd/http/ingressroute.md) | HTTP Routing | | [Middleware](../../../routing-configuration/kubernetes/crd/http/middleware.md) | Tweaks the HTTP requests before they are sent to your service | | [TraefikService](../../../routing-configuration/kubernetes/crd/http/traefikservice.md) | Abstraction for HTTP loadbalancing/mirroring | -| [TLSOptions](../../../routing-configuration/kubernetes/crd/http/tlsoption.md) | Allows configuring some parameters of the TLS connection | -| [TLSStores](../../../routing-configuration/kubernetes/crd/http/tlsstore.md) | Allows configuring the default TLS store | +| [TLSOptions](../../../routing-configuration/kubernetes/crd/tls/tlsoption.md) | Allows configuring some parameters of the TLS connection | +| [TLSStores](../../../routing-configuration/kubernetes/crd/tls/tlsstore.md) | Allows configuring the default TLS store | | [ServersTransport](../../../routing-configuration/kubernetes/crd/http/serverstransport.md) | Allows configuring the transport between Traefik and the backends | | [IngressRouteTCP](../../../routing-configuration/kubernetes/crd/tcp/ingressroutetcp.md) | TCP Routing | | [MiddlewareTCP](../../../routing-configuration/kubernetes/crd/tcp/middlewaretcp.md) | Tweaks the TCP requests before they are sent to your service | diff --git a/docs/content/reference/routing-configuration/http/tls/tls-options.md b/docs/content/reference/routing-configuration/http/tls/tls-options.md index a50b9ff77..939edf91e 100644 --- a/docs/content/reference/routing-configuration/http/tls/tls-options.md +++ b/docs/content/reference/routing-configuration/http/tls/tls-options.md @@ -188,7 +188,7 @@ Traefik supports mutual authentication, through the `clientAuth` section. For authentication policies that require verification of the client certificate, the certificate authority for the certificates should be set in `clientAuth.caFiles`. -In Kubernetes environment, CA certificate can be set in `clientAuth.secretNames`. See [TLSOption resource](../../kubernetes/crd/http/tlsoption.md) for more details. +In Kubernetes environment, CA certificate can be set in `clientAuth.secretNames`. See [TLSOption resource](../../kubernetes/crd/tls/tlsoption.md) for more details. The `clientAuth.clientAuthType` option governs the behaviour as follows: diff --git a/docs/content/reference/routing-configuration/kubernetes/crd/http/ingressroute.md b/docs/content/reference/routing-configuration/kubernetes/crd/http/ingressroute.md index 882c6e076..4328ebfd1 100644 --- a/docs/content/reference/routing-configuration/kubernetes/crd/http/ingressroute.md +++ b/docs/content/reference/routing-configuration/kubernetes/crd/http/ingressroute.md @@ -87,11 +87,11 @@ spec: | `routes[n].`
`observability.`
`accesslogs`
| Defines whether the route will produce [access-logs](../../../../install-configuration/observability/logs-and-accesslogs.md). See [here](../../../http/routing/observability.md) for more information. | false | No | | `routes[n].`
`observability.`
`metrics`
| Defines whether the route will produce [metrics](../../../../install-configuration/observability/metrics.md). See [here](../../../http/routing/observability.md) for more information. | false | No | | `routes[n].`
`observability.`
`tracing`
| Defines whether the route will produce [traces](../../../../install-configuration/observability/tracing.md). See [here](../../../http/routing/observability.md) for more information. | false | No | -| `tls` | TLS configuration.
Can be an empty value(`{}`):
A self signed is generated in such a case
(or the [default certificate](tlsstore.md) is used if it is defined.) | | No | +| `tls` | TLS configuration.
Can be an empty value(`{}`):
A self signed is generated in such a case
(or the [default certificate](../tls/tlsstore.md) is used if it is defined.) | | No | | `routes[n].`
`services`
| List of any combination of [TraefikService](./traefikservice.md) and [Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/).
Exhaustive list of option in the [`Service`](./service.md#configuration-options) documentation. | | No | | `tls.secretName` | [Secret](https://kubernetes.io/docs/concepts/configuration/secret/) name used to store the certificate (in the same namesapce as the `IngressRoute`) | "" | No | -| `tls.`
`options.name`
| Name of the [`TLSOption`](tlsoption.md) to use.
More information [here](#tls-options). | "" | No | -| `tls.`
`options.namespace`
| Namespace of the [`TLSOption`](tlsoption.md) to use. | "" | No | +| `tls.`
`options.name`
| Name of the [`TLSOption`](../tls/tlsoption.md) to use.
More information [here](#tls-options). | "" | No | +| `tls.`
`options.namespace`
| Namespace of the [`TLSOption`](../tls/tlsoption.md) to use. | "" | No | | `tls.certResolver` | Name of the [Certificate Resolver](../../../../install-configuration/tls/certificate-resolvers/overview.md) to use to generate automatic TLS certificates. | "" | No | | `tls.domains` | List of domains to serve using the certificates generates (one `tls.domain`= one certificate).
More information in the [dedicated section](../../../../install-configuration/tls/certificate-resolvers/acme.md#domain-definition). | | No | | `tls.`
`domains[n].main`
| Main domain name | "" | Yes | @@ -150,7 +150,7 @@ same namespace as the IngressRoute) ### TLS Options The `options` field enables fine-grained control of the TLS parameters. -It refers to a [TLSOption](./tlsoption.md) and will be applied only if a `Host` +It refers to a [TLSOption](../tls/tlsoption.md) and will be applied only if a `Host` rule is defined. #### Server Name Association diff --git a/docs/content/reference/routing-configuration/kubernetes/crd/tcp/ingressroutetcp.md b/docs/content/reference/routing-configuration/kubernetes/crd/tcp/ingressroutetcp.md index 90a64e771..4ae214dae 100644 --- a/docs/content/reference/routing-configuration/kubernetes/crd/tcp/ingressroutetcp.md +++ b/docs/content/reference/routing-configuration/kubernetes/crd/tcp/ingressroutetcp.md @@ -75,9 +75,9 @@ spec: | `routes[n].services[n].nodePortLB` | Controls, when creating the load-balancer, whether the LB's children are directly the nodes internal IPs using the nodePort when the service type is `NodePort`. It allows services to be reachable when Traefik runs externally from the Kubernetes cluster but within the same network of the nodes. | false | No | | `tls` | Defines [TLS](../../../../install-configuration/tls/certificate-resolvers/overview.md) certificate configuration. | | No | | `tls.secretName` | Defines the [secret](https://kubernetes.io/docs/concepts/configuration/secret/) name used to store the certificate (in the `IngressRoute` namespace). | "" | No | -| `tls.options` | Defines the reference to a [TLSOption](tlsoption.md). | "" | No | -| `tls.options.name` | Defines the [TLSOption](tlsoption.md) name. | "" | No | -| `tls.options.namespace` | Defines the [TLSOption](tlsoption.md) namespace. | "" | No | +| `tls.options` | Defines the reference to a [TLSOption](../tls/tlsoption.md). | "" | No | +| `tls.options.name` | Defines the [TLSOption](../tls/tlsoption.md) name. | "" | No | +| `tls.options.namespace` | Defines the [TLSOption](../tls/tlsoption.md) namespace. | "" | No | | `tls.certResolver` | Defines the reference to a [CertResolver](../../../../install-configuration/tls/certificate-resolvers/overview.md). | "" | No | | `tls.domains` | List of domains. | "" | No | | `tls.domains[n].main` | Defines the main domain name. | "" | No | diff --git a/docs/content/reference/routing-configuration/kubernetes/ingress.md b/docs/content/reference/routing-configuration/kubernetes/ingress.md index 7343a2bdf..a9b0aab71 100644 --- a/docs/content/reference/routing-configuration/kubernetes/ingress.md +++ b/docs/content/reference/routing-configuration/kubernetes/ingress.md @@ -133,7 +133,7 @@ spec: ??? info "`traefik.ingress.kubernetes.io/router.tls.options`" - See [options](../kubernetes/crd/http/tlsoption.md) for more information. + See [options](../kubernetes/crd/tls/tlsoption.md) for more information. ```yaml traefik.ingress.kubernetes.io/router.tls.options: foobar@file @@ -589,7 +589,7 @@ and will connect via TLS automatically. Please note that by enabling TLS communication between traefik and your pods, you will have to have trusted certificates that have the proper trust chain and IP subject name. If this is not an option, you may need to skip TLS certificate verification. - See the [`insecureSkipVerify` TLSOption](../kubernetes/crd/http/tlsoption.md) setting for more details. + See the [`insecureSkipVerify` TLSOption](../kubernetes/crd/tls/tlsoption.md) setting for more details. ## Global Default Backend Ingresses diff --git a/docs/content/user-guides/cert-manager.md b/docs/content/user-guides/cert-manager.md index db1afc4fe..fbb90d918 100644 --- a/docs/content/user-guides/cert-manager.md +++ b/docs/content/user-guides/cert-manager.md @@ -56,7 +56,7 @@ The certificates can then be used in an Ingress / IngressRoute / HTTPRoute. ``` Let's see now how to use it with the various Kubernetes providers of Traefik Proxy. -The enabled providers can be seen on the [dashboard](../operations/dashboard.md) of Traefik Proxy and also in the INFO logs when Traefik Proxy starts. +The enabled providers can be seen on the [dashboard](../reference/install-configuration/api-dashboard.md) of Traefik Proxy and also in the INFO logs when Traefik Proxy starts. ### With an Ingress diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index ed8b0b5e3..dca15910d 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -62,7 +62,7 @@ plugins: # Routing 'routing/overview.md': 'reference/routing-configuration/dynamic-configuration-methods.md' 'routing/entrypoints.md': 'reference/install-configuration/entrypoints.md' - 'routing/routers/index.md': 'reference/routing-configuration/http/router/rules-and-priority.md' + 'routing/routers/index.md': 'reference/routing-configuration/http/routing/rules-and-priority.md' 'routing/services/index.md': 'reference/routing-configuration/http/load-balancing/service.md' 'routing/providers/docker.md': 'reference/routing-configuration/other-providers/docker.md' 'routing/providers/swarm.md': 'reference/routing-configuration/other-providers/swarm.md'