Merge branch v2.3 into master

This commit is contained in:
Fernandez Ludovic 2020-09-17 12:06:57 +02:00
commit 86c099d629
440 changed files with 5538 additions and 5466 deletions

View file

@ -7,4 +7,4 @@ There are many ways to contribute to the project, and there is one that always s
If you're talking about Traefik, [let us know](https://blog.containo.us/spread-the-love-ba5a40aa72e7) and we'll promote your enthusiasm!
Also, if you've written about Traefik or shared useful information you'd like to promote, feel free to add links in the [dedicated wiki page on Github](https://github.com/containous/traefik/wiki/Awesome-Traefik).
Also, if you've written about Traefik or shared useful information you'd like to promote, feel free to add links in the [dedicated wiki page on Github](https://github.com/traefik/traefik/wiki/Awesome-Traefik).

View file

@ -35,7 +35,7 @@ Step 1/10 : FROM golang:1.14-alpine
[...]
Successfully built 5c3c1a911277
Successfully tagged traefik-dev:4475--feature-documentation
docker run -e "TEST_CONTAINER=1" -v "/var/run/docker.sock:/var/run/docker.sock" -it -e OS_ARCH_ARG -e OS_PLATFORM_ARG -e TESTFLAGS -e VERBOSE -e VERSION -e CODENAME -e TESTDIRS -e CI -e CONTAINER=DOCKER -v "/home/ldez/sources/go/src/github.com/containous/traefik/"dist":/go/src/github.com/containous/traefik/"dist"" "traefik-dev:4475--feature-documentation" ./script/make.sh generate binary
docker run -e "TEST_CONTAINER=1" -v "/var/run/docker.sock:/var/run/docker.sock" -it -e OS_ARCH_ARG -e OS_PLATFORM_ARG -e TESTFLAGS -e VERBOSE -e VERSION -e CODENAME -e TESTDIRS -e CI -e CONTAINER=DOCKER -v "/home/ldez/sources/go/src/github.com/traefik/traefik/"dist":/go/src/github.com/traefik/traefik/"dist"" "traefik-dev:4475--feature-documentation" ./script/make.sh generate binary
---> Making bundle: generate (in .)
removed 'autogen/genstatic/gen.go'
@ -68,7 +68,7 @@ Requirements:
!!! tip "Source Directory"
It is recommended that you clone Traefik into the `~/go/src/github.com/containous/traefik` directory.
It is recommended that you clone Traefik into the `~/go/src/github.com/traefik/traefik` directory.
This is the official golang workspace hierarchy that will allow dependencies to be properly resolved.
!!! note "Environment"
@ -104,7 +104,7 @@ Once you've set up your go environment and cloned the source repository, you can
Beforehand, you need to get [go-bindata](https://github.com/containous/go-bindata) (the first time) in order to be able to use the `go generate` command (which is part of the build process).
```bash
cd ~/go/src/github.com/containous/traefik
cd ~/go/src/github.com/traefik/traefik
# Get go-bindata. (Important: the ellipses are required.)
GO111MODULE=off go get github.com/containous/go-bindata/...
@ -124,7 +124,7 @@ go generate
go build ./cmd/traefik
```
You will find the Traefik executable (`traefik`) in the `~/go/src/github.com/containous/traefik` directory.
You will find the Traefik executable (`traefik`) in the `~/go/src/github.com/traefik/traefik` directory.
## Testing
@ -138,13 +138,13 @@ Run all tests (unit and integration) using the `test` target.
$ make test-unit
docker build -t "traefik-dev:your-feature-branch" -f build.Dockerfile .
# […]
docker run --rm -it -e OS_ARCH_ARG -e OS_PLATFORM_ARG -e TESTFLAGS -v "/home/user/go/src/github/containous/traefik/dist:/go/src/github.com/containous/traefik/dist" "traefik-dev:your-feature-branch" ./script/make.sh generate test-unit
docker run --rm -it -e OS_ARCH_ARG -e OS_PLATFORM_ARG -e TESTFLAGS -v "/home/user/go/src/github/traefik/traefik/dist:/go/src/github.com/traefik/traefik/dist" "traefik-dev:your-feature-branch" ./script/make.sh generate test-unit
---> Making bundle: generate (in .)
removed 'gen.go'
---> Making bundle: test-unit (in .)
+ go test -cover -coverprofile=cover.out .
ok github.com/containous/traefik 0.005s coverage: 4.1% of statements
ok github.com/traefik/traefik 0.005s coverage: 4.1% of statements
Test success
```
@ -172,7 +172,7 @@ More: https://labix.org/gocheck
Unit tests can be run from the cloned directory using `$ go test ./...` which should return `ok`, similar to:
```test
ok _/home/user/go/src/github/containous/traefik 0.004s
ok _/home/user/go/src/github/traefik/traefik 0.004s
```
Integration tests must be run from the `integration/` directory and require the `-integration` switch: `$ cd integration && go test -integration ./...`.

View file

@ -29,7 +29,7 @@ For this very reason, the sendAnonymousUsage option is mandatory: we want you to
## Collected Data
This feature comes from the public proposal [here](https://github.com/containous/traefik/issues/2369).
This feature comes from the public proposal [here](https://github.com/traefik/traefik/issues/2369).
In order to help us learn more about how Traefik is being used and improve it, we collect anonymous usage statistics from running instances.
Those data help us prioritize our developments and focus on what's important for our users (for example, which provider is popular, and which is not).
@ -85,11 +85,11 @@ Once a day (the first call begins 10 minutes after the start of Traefik), we col
ca = "xxxx"
cert = "xxxx"
key = "xxxx"
insecureSkipVerify = false
insecureSkipVerify = true
```
## The Code for Data Collection
If you want to dig into more details, here is the source code of the collecting system: [collector.go](https://github.com/containous/traefik/blob/master/pkg/collector/collector.go)
If you want to dig into more details, here is the source code of the collecting system: [collector.go](https://github.com/traefik/traefik/blob/master/pkg/collector/collector.go)
By default we anonymize all configuration fields, except fields tagged with `export=true`.

View file

@ -20,7 +20,7 @@ You can build the documentation and test it locally (with live reloading), using
$ make docs
docker build -t traefik-docs -f docs.Dockerfile .
# […]
docker run --rm -v /home/user/go/github/containous/traefik:/mkdocs -p 8000:8000 traefik-docs mkdocs serve
docker run --rm -v /home/user/go/github/traefik/traefik:/mkdocs -p 8000:8000 traefik-docs mkdocs serve
# […]
[I 170828 20:47:48 server:283] Serving on http://0.0.0.0:8000
[I 170828 20:47:48 handlers:60] Start watching changes
@ -75,7 +75,7 @@ To check that the documentation meets standard expectations (no dead links, html
$ make docs-verify
docker build -t traefik-docs-verify ./script/docs-verify-docker-image ## Build Validator image
...
docker run --rm -v /home/travis/build/containous/traefik:/app traefik-docs-verify ## Check for dead links and w3c compliance
docker run --rm -v /home/travis/build/traefik/traefik:/app traefik-docs-verify ## Check for dead links and w3c compliance
=== Checking HTML content...
Running ["HtmlCheck", "ImageCheck", "ScriptCheck", "LinkCheck"] on /app/site/basics/index.html on *.html...
```

View file

@ -20,7 +20,7 @@
## Contributions Daily Meeting
* 3 Maintainers should attend to a Contributions Daily Meeting where we sort and label new issues ([is:issue label:status/0-needs-triage](https://github.com/containous/traefik/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Astatus%2F0-needs-triage+)), and review every Pull Requests
* 3 Maintainers should attend to a Contributions Daily Meeting where we sort and label new issues ([is:issue label:status/0-needs-triage](https://github.com/traefik/traefik/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Astatus%2F0-needs-triage+)), and review every Pull Requests
* Every pull request should be checked during the Contributions Daily Meeting
* Even if its already assigned
* Even PR labelled with `contributor/waiting-for-corrections` or `contributor/waiting-for-feedback`
@ -43,7 +43,7 @@ We use [PRM](https://github.com/ldez/prm) to manage locally pull requests.
## Bots
### [Myrmica Lobicornis](https://github.com/containous/lobicornis/)
### [Myrmica Lobicornis](https://github.com/traefik/lobicornis/)
Update and Merge Pull Request.
@ -67,12 +67,12 @@ This label is used when:
* Merging branches into the master
* Preparing the release
### [Myrmica Bibikoffi](https://github.com/containous/bibikoffi/)
### [Myrmica Bibikoffi](https://github.com/traefik/bibikoffi/)
* closes stale issues [cron]
* use some criterion as number of days between creation, last update, labels, ...
### [Myrmica Aloba](https://github.com/containous/aloba)
### [Myrmica Aloba](https://github.com/traefik/aloba)
Manage GitHub labels.

View file

@ -3,7 +3,7 @@
Help Us Help You!
{: .subtitle }
We use the [GitHub issue tracker](https://github.com/containous/traefik/issues) to keep track of issues in Traefik.
We use the [GitHub issue tracker](https://github.com/traefik/traefik/issues) to keep track of issues in Traefik.
The process of sorting and checking the issues is a daunting task, and requires a lot of work (more than an hour a day ... just for sorting).
To save us some time and get quicker feedback, be sure to follow the guide lines below.
@ -22,7 +22,7 @@ The title must be short and descriptive. (~60 characters)
## Description
Follow the [issue template](https://github.com/containous/traefik/blob/master/.github/ISSUE_TEMPLATE.md) as much as possible.
Follow the [issue template](https://github.com/traefik/traefik/blob/master/.github/ISSUE_TEMPLATE.md) as much as possible.
Explain us in which conditions you encountered the issue, what is your context.

View file

@ -15,7 +15,7 @@ The title must be short and descriptive. (~60 characters)
## Description
Follow the [pull request template](https://github.com/containous/traefik/blob/master/.github/PULL_REQUEST_TEMPLATE.md) as much as possible.
Follow the [pull request template](https://github.com/traefik/traefik/blob/master/.github/PULL_REQUEST_TEMPLATE.md) as much as possible.
Explain the conditions which led you to write this PR: give us context.
The context should lead to something, an idea or a problem that youre facing.

View file

@ -3,8 +3,8 @@
_You_ Made It
{: .subtitle}
Traefik truly is an [open-source project](https://github.com/containous/traefik/),
and wouldn't have become what it is today without the help of our [many contributors](https://github.com/containous/traefik/graphs/contributors) (at the time of writing this),
Traefik truly is an [open-source project](https://github.com/traefik/traefik/),
and wouldn't have become what it is today without the help of our [many contributors](https://github.com/traefik/traefik/graphs/contributors) (at the time of writing this),
not accounting for people having helped with issues, tests, comments, articles, ... or just enjoying it and letting others know.
So once again, thank you for your invaluable help on making Traefik such a good product.

View file

@ -9,7 +9,7 @@ You can install Traefik with the following flavors:
## Use the Official Docker Image
Choose one of the [official Docker images](https://hub.docker.com/_/traefik) and run it with the [sample configuration file](https://raw.githubusercontent.com/containous/traefik/v2.3/traefik.sample.toml):
Choose one of the [official Docker images](https://hub.docker.com/_/traefik) and run it with the [sample configuration file](https://raw.githubusercontent.com/traefik/traefik/v2.3/traefik.sample.toml):
```bash
docker run -d -p 8080:8080 -p 80:80 \
@ -32,7 +32,7 @@ For more details, go to the [Docker provider documentation](../providers/docker.
The Traefik Chart from
[Helm's default charts repository](https://github.com/helm/charts/tree/master/stable/traefik) is still using [Traefik v1.7](https://docs.traefik.io/v1.7).
Traefik can be installed in Kubernetes using the Helm chart from <https://github.com/containous/traefik-helm-chart>.
Traefik can be installed in Kubernetes using the Helm chart from <https://github.com/traefik/traefik-helm-chart>.
Ensure that the following requirements are met:
@ -42,7 +42,7 @@ Ensure that the following requirements are met:
Add Traefik's chart repository to Helm:
```bash
helm repo add traefik https://containous.github.io/traefik-helm-chart
helm repo add traefik https://traefik.github.io/traefik-helm-chart
```
You can update the chart repository by running:
@ -76,7 +76,7 @@ helm install traefik traefik/traefik
{: #helm-custom-values }
The values are not (yet) documented, but are self-explanatory:
you can look at the [default `values.yaml`](https://github.com/containous/traefik-helm-chart/blob/master/traefik/values.yaml) file to explore possibilities.
you can look at the [default `values.yaml`](https://github.com/traefik/traefik-helm-chart/blob/master/traefik/values.yaml) file to explore possibilities.
You can also set Traefik command line flags using `additionalArguments`.
Example of installation with logging set to `DEBUG`:
@ -128,7 +128,7 @@ spec:
## Use the Binary Distribution
Grab the latest binary from the [releases](https://github.com/containous/traefik/releases) page.
Grab the latest binary from the [releases](https://github.com/traefik/traefik/releases) page.
??? info "Check the integrity of the downloaded file"

View file

@ -48,7 +48,7 @@ Edit your `docker-compose.yml` file and add the following at the end of your fil
# ...
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
image: traefik/whoami
labels:
- "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost`)"
```

View file

@ -134,6 +134,16 @@ If no default certificate is provided, Traefik generates and uses a self-signed
The TLS options allow one to configure some parameters of the TLS connection.
!!! important "TLSOptions in Kubernetes"
When using the TLSOptions-CRD in Kubernetes, one might setup a default set of options that,
if not explicitly overwritten, should apply to all ingresses. To achieve that, you'll have to
create a TLSOptions CR with the name `default`. There may exist only one TLSOption with the
name `default` (across all namespaces) - otherwise they will be dropped.
To explicitly use a different TLSOption (and using the Kubernetes Ingress resources) you'll
have to add an annotation to the Ingress in the following form:
`traefik.ingress.kubernetes.io/router.tls.options: <resource-namespace>-<resource-name>@kubernetescrd`
### Minimum TLS Version
```toml tab="File (TOML)"

View file

@ -3,7 +3,7 @@
![Architecture](assets/img/traefik-architecture.png)
Traefik is an [open-source](https://github.com/containous/traefik) *Edge Router* that makes publishing your services a fun and easy experience.
Traefik is an [open-source](https://github.com/traefik/traefik) *Edge Router* that makes publishing your services a fun and easy experience.
It receives requests on behalf of your system and finds out which components are responsible for handling them.
What sets Traefik apart, besides its many features, is that it automatically discovers the right configuration for your services.

View file

@ -165,7 +165,7 @@ http:
### `maxResponseBodyBytes`
With the `maxReesponseBodyBytes` option, you can configure the maximum allowed response size from the service (in Bytes).
With the `maxResponseBodyBytes` option, you can configure the maximum allowed response size from the service (in Bytes).
If the response exceeds the allowed size, it is not forwarded to the client. The client gets a `413 (Request Entity Too Large) response` instead.

View file

@ -7,7 +7,7 @@ Don't Waste Time Calling Unhealthy Services
The circuit breaker protects your system from stacking requests to unhealthy services (resulting in cascading failures).
When your system is healthy, the circuit is close (normal operations).
When your system is healthy, the circuit is closed (normal operations).
When your system becomes unhealthy, the circuit becomes open and the requests are no longer forwarded (but handled by a fallback mechanism).
To assess if your system is healthy, the circuit breaker constantly monitors the services.
@ -82,13 +82,13 @@ http:
There are three possible states for your circuit breaker:
- Close (your service operates normally)
- Closed (your service operates normally)
- Open (the fallback mechanism takes over your service)
- Recovering (the circuit breaker tries to resume normal operations by progressively sending requests to your service)
### Close
### Closed
While close, the circuit breaker only collects metrics to analyze the behavior of the requests.
While the circuit is closed, the circuit breaker only collects metrics to analyze the behavior of the requests.
At specified intervals (`checkPeriod`), it will evaluate `expression` to decide if its state must change.

View file

@ -17,7 +17,7 @@ Pieces of middleware can be combined in chains to fit every scenario.
# As a Docker Label
whoami:
# A container that exposes an API to show its IP address
image: containous/whoami
image: traefik/whoami
labels:
# Create a middleware named `foo-add-prefix`
- "traefik.http.middlewares.foo-add-prefix.addprefix.prefix=/foo"
@ -25,7 +25,7 @@ whoami:
- "traefik.http.routers.router1.middlewares=foo-add-prefix@docker"
```
```yaml tab="Kubernetes"
```yaml tab="Kubernetes IngressRoute"
# As a Kubernetes Traefik IngressRoute
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
@ -148,6 +148,9 @@ then you'll have to append to the middleware name, the `@` separator, followed b
In this case, since the definition of the middleware is not in kubernetes,
specifying a "kubernetes namespace" when referring to the resource does not make any sense,
and therefore this specification would be ignored even if present.
On the other hand, if you declare the middleware as a Custom Resource in Kubernetes and use the
non-crd Ingress objects, you'll have to add the kubernetes namespace of the middleware to the
annotation like this `<middleware-namespace>-<middleware-name>@kubernetescrd`.
!!! abstract "Referencing a Middleware from Another Provider"
@ -178,7 +181,7 @@ then you'll have to append to the middleware name, the `@` separator, followed b
- "traefik.http.routers.my-container.middlewares=add-foo-prefix@file"
```
```yaml tab="Kubernetes"
```yaml tab="Kubernetes Ingress Route"
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
@ -199,6 +202,31 @@ then you'll have to append to the middleware name, the `@` separator, followed b
# A namespace specification such as above is ignored
# when the cross-provider syntax is used.
```
```yaml tab="Kubernetes Ingress"
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: stripprefix
namespace: appspace
spec:
stripPrefix:
prefixes:
- /stripit
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
namespace: appspace
annotations:
# referencing a middleware from Kubernetes CRD provider:
# <middleware-namespace>-<middleware-name>@kubernetescrd
"traefik.ingress.kubernetes.io/router.middlewares": appspace-stripprefix@kubernetescrd
spec:
# ... regular ingress definition
```
## Available Middlewares

View file

@ -10,7 +10,7 @@ feature by feature, of how the configuration looked like in v1, and how it now l
!!! info "Migration Helper"
We created a tool to help during the migration: [traefik-migration-tool](https://github.com/containous/traefik-migration-tool)
We created a tool to help during the migration: [traefik-migration-tool](https://github.com/traefik/traefik-migration-tool)
This tool allows to:

View file

@ -32,7 +32,7 @@ To complete the connection, Traefik Pilot will issue a token that must be added
Traefik users can create their own plugins and contribute them to the Traefik Pilot catalog to share them with the community.
Plugins are written in [Go](https://golang.org/) and their code is executed by an [embedded Go interpreter](https://github.com/containous/yaegi).
Plugins are written in [Go](https://golang.org/) and their code is executed by an [embedded Go interpreter](https://github.com/traefik/yaegi).
There is no need to compile binaries and all plugins are 100% cross-platform.
To learn more and see code for example Traefik plugins, please see the [developer documentation](https://github.com/containous/plugindemo).
To learn more and see code for example Traefik plugins, please see the [developer documentation](https://github.com/traefik/plugindemo).

View file

@ -12,24 +12,24 @@ Plugins are hosted on GitHub, but you can browse plugins to add to your register
To add a new plugin to a Traefik instance, you must modify that instance's static configuration.
The code to be added is provided by the Traefik Pilot UI when you choose **Install the Plugin**.
In the example below, we add the [`blockpath`](http://github.com/containous/plugin-blockpath) and [`rewritebody`](https://github.com/containous/plugin-rewritebody) plugins:
In the example below, we add the [`blockpath`](http://github.com/traefik/plugin-blockpath) and [`rewritebody`](https://github.com/traefik/plugin-rewritebody) plugins:
```toml tab="File (TOML)"
[entryPoints]
  [entryPoints.web]
    address = ":80"
[entryPoints.web]
address = ":80"
[experimental]
[experimental.pilot]
token = "xxxxxxxxx"
[pilot]
token = "xxxxxxxxx"
  [experimental.plugins]
    [experimental.plugins.block]
      modulename = "github.com/containous/plugin-blockpath"
      version = "v0.1.2"
    [experimental.plugins.rewrite]
      modulename = "github.com/containous/plugin-rewritebody"
      version = "v0.2.0"
[experimental.plugins]
[experimental.plugins.block]
modulename = "github.com/traefik/plugin-blockpath"
version = "v0.2.0"
[experimental.plugins.rewrite]
modulename = "github.com/traefik/plugin-rewritebody"
version = "v0.3.0"
```
```yaml tab="File (YAML)"
@ -37,26 +37,26 @@ entryPoints:
web:
address: :80
experimental:
pilot:
pilot:
token: xxxxxxxxx
experimental:
plugins:
block:
modulename: github.com/containous/plugin-blockpath
version: v0.1.2
rewrite:
modulename: github.com/containous/plugin-rewritebody
modulename: github.com/traefik/plugin-blockpath
version: v0.2.0
rewrite:
modulename: github.com/traefik/plugin-rewritebody
version: v0.3.0
```
```bash tab="CLI"
--entryPoints.web.address=:80
--experimental.pilot.token=xxxxxxxxx
--experimental.plugins.block.modulename=github.com/containous/plugin-blockpath
--experimental.plugins.block.version=v0.1.2
--experimental.plugins.rewrite.modulename=github.com/containous/plugin-rewritebody
--experimental.plugins.rewrite.version=v0.2.0
--pilot.token=xxxxxxxxx
--experimental.plugins.block.modulename=github.com/traefik/plugin-blockpath
--experimental.plugins.block.version=v0.2.0
--experimental.plugins.rewrite.modulename=github.com/traefik/plugin-rewritebody
--experimental.plugins.rewrite.version=v0.3.0
```
## Configuring Plugins

View file

@ -168,7 +168,7 @@ You can specify which Docker API Endpoint to use with the directive [`endpoint`]
- [Don't expose the Docker socket (not even to a container)](https://www.lvh.io/posts/dont-expose-the-docker-socket-not-even-to-a-container/)
- [A thread on Stack Overflow about sharing the `/var/run/docker.sock` file](https://news.ycombinator.com/item?id=17983623)
- [To DinD or not to DinD](https://blog.loof.fr/2018/01/to-dind-or-not-do-dind.html)
- [Traefik issue GH-4174 about security with Docker socket](https://github.com/containous/traefik/issues/4174)
- [Traefik issue GH-4174 about security with Docker socket](https://github.com/traefik/traefik/issues/4174)
- [Inspecting Docker Activity with Socat](https://developers.redhat.com/blog/2015/02/25/inspecting-docker-activity-with-socat/)
- [Letting Traefik run on Worker Nodes](https://blog.mikesir87.io/2018/07/letting-traefik-run-on-worker-nodes/)
- [Docker Socket Proxy from Tecnativa](https://github.com/Tecnativa/docker-socket-proxy)

View file

@ -391,4 +391,4 @@ providers:
### Further
If one wants to know more about the various aspects of the Ingress spec that Traefik supports,
many examples of Ingresses definitions are located in the tests [data](https://github.com/containous/traefik/tree/v2.3/pkg/provider/kubernetes/ingress/fixtures) of the Traefik repository.
many examples of Ingresses definitions are located in the tests [data](https://github.com/traefik/traefik/tree/v2.3/pkg/provider/kubernetes/ingress/fixtures) of the Traefik repository.

View file

@ -32,7 +32,7 @@ See also [Marathon user guide](../user-guides/marathon.md).
"container": {
"type": "DOCKER",
"docker": {
"image": "containous/whoami",
"image": "traefik/whoami",
"network": "BRIDGE",
"portMappings": [
{

View file

@ -168,9 +168,6 @@ plugin's GOPATH.
`--experimental.devplugin.modulename`:
plugin's module name.
`--experimental.pilot.token`:
Traefik Pilot token.
`--experimental.plugins.<name>.modulename`:
plugin's module name.
@ -288,6 +285,9 @@ Prefix to use for metrics collection. (Default: ```traefik```)
`--metrics.statsd.pushinterval`:
StatsD push interval. (Default: ```10```)
`--pilot.token`:
Traefik Pilot token.
`--ping`:
Enable ping. (Default: ```false```)

View file

@ -168,9 +168,6 @@ plugin's GOPATH.
`TRAEFIK_EXPERIMENTAL_DEVPLUGIN_MODULENAME`:
plugin's module name.
`TRAEFIK_EXPERIMENTAL_PILOT_TOKEN`:
Traefik Pilot token.
`TRAEFIK_EXPERIMENTAL_PLUGINS_<NAME>_MODULENAME`:
plugin's module name.
@ -288,6 +285,9 @@ Prefix to use for metrics collection. (Default: ```traefik```)
`TRAEFIK_METRICS_STATSD_PUSHINTERVAL`:
StatsD push interval. (Default: ```10```)
`TRAEFIK_PILOT_TOKEN`:
Traefik Pilot token.
`TRAEFIK_PING`:
Enable ping. (Default: ```false```)

View file

@ -160,24 +160,24 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
name: whoami
namespace: default
labels:
app: containous
app: traefiklabs
name: whoami
spec:
replicas: 2
selector:
matchLabels:
app: containous
app: traefiklabs
task: whoami
template:
metadata:
labels:
app: containous
app: traefiklabs
task: whoami
spec:
containers:
- name: containouswhoami
image: containous/whoami
- name: whoami
image: traefik/whoami
ports:
- containerPort: 80
@ -193,7 +193,7 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: whoami
---
@ -203,24 +203,24 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
name: whoamitcp
namespace: default
labels:
app: containous
app: traefiklabs
name: whoamitcp
spec:
replicas: 2
selector:
matchLabels:
app: containous
app: traefiklabs
task: whoamitcp
template:
metadata:
labels:
app: containous
app: traefiklabs
task: whoamitcp
spec:
containers:
- name: containouswhoamitcp
image: containous/whoamitcp
- name: whoamitcp
image: traefik/whoamitcp
ports:
- containerPort: 8080
@ -236,7 +236,7 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
- protocol: TCP
port: 8080
selector:
app: containous
app: traefiklabs
task: whoamitcp
---
@ -246,24 +246,24 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
name: whoamiudp
namespace: default
labels:
app: containous
app: traefiklabs
name: whoamiudp
spec:
replicas: 2
selector:
matchLabels:
app: containous
app: traefiklabs
task: whoamiudp
template:
metadata:
labels:
app: containous
app: traefiklabs
task: whoamiudp
spec:
containers:
- name: containouswhoamiudp
image: containous/whoamiudp:dev
- name: whoamiudp
image: traefik/whoamiudp:latest
ports:
- containerPort: 8080
@ -278,7 +278,7 @@ The Kubernetes Ingress Controller, The Custom Resource Way.
ports:
- port: 8080
selector:
app: containous
app: traefiklabs
task: whoamiudp
```
@ -687,7 +687,7 @@ More information in the dedicated server [load balancing](../services/index.md#l
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app1
---
apiVersion: v1
@ -701,7 +701,7 @@ More information in the dedicated server [load balancing](../services/index.md#l
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app2
```
@ -780,7 +780,7 @@ More information in the dedicated [Weighted Round Robin](../services/index.md#we
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app1
---
apiVersion: v1
@ -794,7 +794,7 @@ More information in the dedicated [Weighted Round Robin](../services/index.md#we
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app2
---
apiVersion: v1
@ -808,7 +808,7 @@ More information in the dedicated [Weighted Round Robin](../services/index.md#we
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app3
```
@ -891,7 +891,7 @@ More information in the dedicated [mirroring](../services/index.md#mirroring-ser
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app1
---
apiVersion: v1
@ -905,7 +905,7 @@ More information in the dedicated [mirroring](../services/index.md#mirroring-ser
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: app2
```
@ -1026,7 +1026,7 @@ and there is a second level because each whoami service is a `replicaset` and is
spec:
containers:
- name: whoami1
image: containous/whoami
image: traefik/whoami
ports:
- name: web
containerPort: 80
@ -1052,7 +1052,7 @@ and there is a second level because each whoami service is a `replicaset` and is
spec:
containers:
- name: whoami2
image: containous/whoami
image: traefik/whoami
ports:
- name: web
containerPort: 80

View file

@ -32,8 +32,10 @@ which in turn will create the resulting routers, services, handlers, etc.
- watch
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
- ingressclasses
verbs:
- get
- list
@ -149,24 +151,24 @@ which in turn will create the resulting routers, services, handlers, etc.
metadata:
name: whoami
labels:
app: containous
app: traefiklabs
name: whoami
spec:
replicas: 2
selector:
matchLabels:
app: containous
app: traefiklabs
task: whoami
template:
metadata:
labels:
app: containous
app: traefiklabs
task: whoami
spec:
containers:
- name: containouswhoami
image: containous/whoami
- name: whoami
image: traefik/whoami
ports:
- containerPort: 80
@ -181,7 +183,7 @@ which in turn will create the resulting routers, services, handlers, etc.
- name: http
port: 80
selector:
app: containous
app: traefiklabs
task: whoami
```

View file

@ -317,7 +317,7 @@ Below are the available options for the health check mechanism:
- `path` is appended to the server URL to set the health check endpoint.
- `scheme`, if defined, will replace the server URL `scheme` for the health check endpoint
- `hostname`, if defined, will apply `Host` header `hostname` to the the health check request.
- `hostname`, if defined, will apply `Host` header `hostname` to the health check request.
- `port`, if defined, will replace the server URL `port` for the health check endpoint.
- `interval` defines the frequency of the health check calls.
- `timeout` defines the maximum duration Traefik will wait for a health check request before considering the server failed (unhealthy).

View file

@ -68,7 +68,7 @@ spec:
spec:
containers:
- name: whoami
image: containous/whoami
image: traefik/whoami
ports:
- name: web
containerPort: 80

View file

@ -51,7 +51,7 @@ Also note the RBAC authorization resources; they'll be referenced through the `s
### Services
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/containous/whoami).
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).
```yaml
--8<-- "content/user-guides/crd-acme/02-services.yml"

View file

@ -31,7 +31,7 @@ services:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"

View file

@ -46,7 +46,7 @@ services:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"

View file

@ -26,7 +26,7 @@ services:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"

View file

@ -23,7 +23,7 @@ services:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"

View file

@ -18,7 +18,7 @@ services:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "containous/whoami"
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"

View file

@ -35,7 +35,7 @@ This will also be used as a starting point for the other docker-compose guides.
## Details
- As an example we use [whoami](https://github.com/containous/whoami) (a tiny Go server that prints os information and HTTP request to output) which was used to define our `simple-service` container.
- As an example we use [whoami](https://github.com/traefik/whoami) (a tiny Go server that prints os information and HTTP request to output) which was used to define our `simple-service` container.
- We define an entry point, along with the exposure of the matching port within docker-compose, which basically allow us to "open and accept" HTTP traffic:

View file

@ -105,7 +105,7 @@ As such, there is no way to handle this situation deterministically.
Finally, Marathon health checks are not mandatory (the default is to use the task state as reported by Mesos), so requiring them for Traefik would raise the entry barrier for Marathon users.
Traefik used to use the health check results as a strict requirement but moved away from it as [users reported the dramatic consequences](https://github.com/containous/traefik/issues/653).
Traefik used to use the health check results as a strict requirement but moved away from it as [users reported the dramatic consequences](https://github.com/traefik/traefik/issues/653).
#### Draining
@ -117,4 +117,4 @@ However, implementing this fully within Traefik seems like a non-trivial underta
Additionally, the approach is less flexible compared to a custom termination handler since only the latter allows for the implementation of custom termination sequences that go beyond simple request draining (e.g., persisting a snapshot state to disk prior to terminating).
The feature is currently not implemented; a request for draining in general is at [issue 41](https://github.com/containous/traefik/issues/41).
The feature is currently not implemented; a request for draining in general is at [issue 41](https://github.com/traefik/traefik/issues/41).

View file

@ -5,7 +5,7 @@ site_url: https://docs.traefik.io
dev_addr: 0.0.0.0:8000
repo_name: 'GitHub'
repo_url: 'https://github.com/containous/traefik'
repo_url: 'https://github.com/traefik/traefik'
docs_dir: 'content'
@ -26,7 +26,7 @@ theme:
prev: 'Previous'
next: 'Next'
copyright: "Copyright &copy; 2016-2020 Containous"
copyright: "Copyright &copy; 2016-2020 Containous; 2020 Traefik Labs"
extra_css:
- assets/styles/root.css

View file

@ -21,7 +21,7 @@ find "${PATH_TO_SITE}" -type f -not -path "/app/site/theme/*" \
--check_external_hash \
--alt_ignore="/traefik.logo.png/" \
--http_status_ignore="0,500,501,503" \
--url_ignore="/https://groups.google.com/a/traefik.io/forum/#!forum/security/,/localhost:/,/127.0.0.1:/,/fonts.gstatic.com/,/.minikube/,/github.com\/containous\/traefik\/*edit*/,/github.com\/containous\/traefik\/$/,/docs.traefik.io/,/github\.com\/golang\/oauth2\/blob\/36a7019397c4c86cf59eeab3bc0d188bac444277\/.+/,/www.akamai.com/,/pilot.traefik.io\/profile/,/containo.us/,/docs.mae.sh/,/www.mkdocs.org/,/squidfunk.github.io/,/ietf.org/" \
--url_ignore="/https://groups.google.com/a/traefik.io/forum/#!forum/security/,/localhost:/,/127.0.0.1:/,/fonts.gstatic.com/,/.minikube/,/github.com\/containous\/traefik\/*edit*/,/github.com\/containous\/traefik\/$/,/github.com\/traefik\/traefik\/*edit*/,/github.com\/traefik\/traefik\/$/,/docs.traefik.io/,/github\.com\/golang\/oauth2\/blob\/36a7019397c4c86cf59eeab3bc0d188bac444277\/.+/,/www.akamai.com/,/pilot.traefik.io\/profile/,/containo.us/,/docs.mae.sh/,/www.mkdocs.org/,/squidfunk.github.io/,/ietf.org/" \
'{}' 1>/dev/null
## HTML-proofer options at https://github.com/gjtorikian/html-proofer#configuration

View file

@ -11,7 +11,7 @@
{% endblock %}
{% block header %}
{% include "partials/containous-header.html" %}
{% include "partials/company-header.html" %}
{% include "partials/header.html" %}
{% endblock %}

View file

@ -197,7 +197,7 @@
</div>
</div>
<div class="dm-right">
<p>Interested in joining Containous?</p>
<p>Interested in joining Traefik Labs?</p>
<a
class="btn-type-1"
href="https://containo.us/careers/#open-positions"