Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge v2.0.0-rc3 into master #5354

Merged
merged 38 commits into from
Sep 11, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
72e67bf
Rest provider icon in the webui
mmatur Aug 28, 2019
b113972
Fix trailing slash with check new version
mmatur Aug 29, 2019
38508f9
Fix recovered panic when websocket is mirrored
juliens Aug 29, 2019
df0dd2f
Add errors about unknown entryPoint in runtime api
juliens Aug 29, 2019
0d9cf69
Base of the migration guide
jbdoumenjou Aug 31, 2019
1755420
fix: stripPrefixRegex documentation.
ldez Sep 2, 2019
af9762c
Improve API for the web UI
ldez Sep 2, 2019
259c7ad
deep-copy for MirrorService
ldez Sep 2, 2019
306e508
fix: Datadog case.
ldez Sep 2, 2019
07eb9c5
Update restrictions in the documentation.
ldez Sep 2, 2019
cb7c5a8
Update Zipkin OpenTracing driver to latest 0.4.3 release
basvanbeek Sep 3, 2019
3ed57e0
Update go version to go 1.13rc2
mmatur Sep 3, 2019
b8ed6f1
Re enable ratelimit integration tests
mmatur Sep 3, 2019
a917115
fix buffering middleware
ldez Sep 3, 2019
10acbb8
Don't panic with undefined middleware
ldez Sep 3, 2019
261e7c1
Fix some documentation issues
jbdoumenjou Sep 3, 2019
770b373
The chain middleware in k8s use middlewareRef
juliens Sep 3, 2019
f843f26
fix: stripPrefix and stripPrefixRegex.
ldez Sep 3, 2019
b77bb69
Prepare release v2.0.0-rc2
ldez Sep 3, 2019
81a1f61
Update to go 1.13
mmatur Sep 4, 2019
3689990
Enhance the Retry Middleware Documentation
jbdoumenjou Sep 4, 2019
6712423
misc documentation fixes
mpl Sep 5, 2019
1959e1f
Auth middlewares in kubernetes CRD uses secrets
juliens Sep 5, 2019
d044c0f
New API security
juliens Sep 6, 2019
605a9b2
Default to CLF when accesslog format is unsupported
mpl Sep 9, 2019
232c113
Misc documentation fixes
ldez Sep 9, 2019
be90b20
fix: TLS domains with IngressRoute.
ldez Sep 9, 2019
25f4c23
Write HTTP server logs into the global logger.
ldez Sep 9, 2019
2b82876
Improve rate limiter tests
mpl Sep 9, 2019
fcc1109
Add more pages in the WebUI
Basgrani Sep 10, 2019
34be181
Add provider in middleware chain
juliens Sep 10, 2019
fb8edd8
k8s ErrorPage middleware now uses k8s service
juliens Sep 10, 2019
6e8138e
Update golangci-lint
ldez Sep 10, 2019
43af0b0
Throttle Kubernetes config refresh
benweissmann Aug 30, 2019
1388266
Finish kubernetes throttling refactoring
mpl Aug 31, 2019
24a2788
Prepare release v1.7.14
ldez Aug 14, 2019
e40e3af
Prepare release v2.0.0-rc3
ldez Sep 10, 2019
e4e2a18
Merge branch 'v2.0' into master
ldez Sep 11, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 6 additions & 3 deletions .golangci.toml
Expand Up @@ -23,6 +23,10 @@
[linters-settings.misspell]
locale = "US"

[linters-settings.funlen]
lines = 230 # default 60
statements = 120 # default 40

[linters]
enable-all = true
disable = [
Expand All @@ -37,7 +41,6 @@
"gochecknoinits",
"gochecknoglobals",
"bodyclose", # Too many false-positive and panics.
"typecheck", # v1.17.1 and Go1.13 => bug
]

[issues]
Expand All @@ -50,8 +53,8 @@
"should have a package comment, unless it's in another file for this package",
]
[[issues.exclude-rules]]
path = ".+_test.go"
linters = ["goconst"]
path = "(.+)_test.go"
linters = ["goconst", "funlen"]
[[issues.exclude-rules]]
path = "integration/.+_test.go"
text = "Error return value of `cmd\\.Process\\.Kill` is not checked"
Expand Down
5 changes: 1 addition & 4 deletions .semaphoreci/setup.sh
Expand Up @@ -18,10 +18,9 @@ echo ${SHOULD_TEST}
#if [ -n "$SHOULD_TEST" ]; then sudo -E apt-get -yq update; fi
#if [ -n "$SHOULD_TEST" ]; then sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install docker-ce=${DOCKER_VERSION}*; fi
if [ -n "$SHOULD_TEST" ]; then docker version; fi

export GO_VERSION=1.12
if [ -f "./go.mod" ]; then GO_VERSION="$(grep '^go .*' go.mod | awk '{print $2}')"; export GO_VERSION; fi
if [ "${GO_VERSION}" == '1.13' ]; then export GO_VERSION=1.13rc1; fi
#if [ "${GO_VERSION}" == '1.13' ]; then export GO_VERSION=1.13rc2; fi
echo "Selected Go version: ${GO_VERSION}"

if [ -f "./.semaphoreci/golang.sh" ]; then ./.semaphoreci/golang.sh; fi
Expand All @@ -34,5 +33,3 @@ if [ -f "./go.mod" ]; then export GOPROXY=https://proxy.golang.org; fi
if [ -f "./go.mod" ]; then go mod download; fi

df


80 changes: 68 additions & 12 deletions CHANGELOG.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions README.md
Expand Up @@ -90,8 +90,7 @@ To get your hands on Traefik, you can use the [5-Minute Quickstart](http://docs.

You can access the simple HTML frontend of Traefik.

![Web UI Providers](docs/content/assets/img/dashboard-main.png)
![Web UI Health](docs/content/assets/img/dashboard-health.png)
![Web UI Providers](docs/content/assets/img/webui-dashboard.png)

## Documentation

Expand Down
4 changes: 2 additions & 2 deletions build.Dockerfile
@@ -1,4 +1,4 @@
FROM golang:1.13rc1-alpine
FROM golang:1.13-alpine

RUN apk --update upgrade \
&& apk --no-cache --no-progress add git mercurial bash gcc musl-dev curl tar ca-certificates tzdata \
Expand All @@ -19,7 +19,7 @@ RUN mkdir -p /usr/local/bin \
&& chmod +x /usr/local/bin/go-bindata

# Download golangci-lint binary to bin folder in $GOPATH
RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.17.1
RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b $GOPATH/bin v1.18.0

# Download golangci-lint and misspell binary to bin folder in $GOPATH
RUN GO111MODULE=off go get github.com/client9/misspell/cmd/misspell
Expand Down
4 changes: 2 additions & 2 deletions cmd/traefik/traefik.go
Expand Up @@ -299,14 +299,14 @@ You haven't specified the sendAnonymousUsage option, it will be enabled by defau
Stats collection is enabled.
Many thanks for contributing to Traefik's improvement by allowing us to receive anonymous information from your configuration.
Help us improve Traefik by leaving this feature on :)
More details on: https://docs.traefik.io/basics/#collected-data
More details on: https://docs.traefik.io/v2.0/contributing/data-collection/
`)
collect(staticConfiguration)
} else {
log.WithoutContext().Info(`
Stats collection is disabled.
Help us improve Traefik by turning this feature on :)
More details on: https://docs.traefik.io/basics/#collected-data
More details on: https://docs.traefik.io/v2.0/contributing/data-collection/
`)
}
}
Expand Down
Binary file removed docs/content/assets/img/dashboard-health.png
Binary file not shown.
Binary file removed docs/content/assets/img/dashboard-main.png
Binary file not shown.
Binary file removed docs/content/assets/img/middleware/ratelimit.png
Binary file not shown.
Binary file added docs/content/assets/img/webui-dashboard.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/content/contributing/building-testing.md
Expand Up @@ -28,7 +28,7 @@ Successfully tagged traefik-webui:latest
[...]
docker build -t "traefik-dev:4475--feature-documentation" -f build.Dockerfile .
Sending build context to Docker daemon 279MB
Step 1/10 : FROM golang:1.13rc1-alpine
Step 1/10 : FROM golang:1.13-alpine
---> f4bfb3d22bda
[...]
Successfully built 5c3c1a911277
Expand Down
2 changes: 1 addition & 1 deletion docs/content/contributing/data-collection.md
Expand Up @@ -9,7 +9,7 @@ Understanding how you use Traefik is very important to us: it helps us improve t
For this very reason, the sendAnonymousUsage option is mandatory: we want you to take time to consider whether or not you wish to share anonymous data with us so we can benefit from your experience and use cases.

!!! warning
During the beta stage only, leaving this option unset will not prevent Traefik from running but will generate an error log indicating that it enables data collection by default.
Before the GA, leaving this option unset will not prevent Traefik from running but will generate an error log indicating that it enables data collection by default.

!!! example "Enabling Data Collection"

Expand Down
22 changes: 11 additions & 11 deletions docs/content/https/tls.md
Expand Up @@ -35,7 +35,7 @@ tls:
!!! important "File Provider Only"

In the above example, we've used the [file provider](../providers/file.md) to handle these definitions.
In its current beta version, it is the only available method to configure the certificates (as well as the options and the stores).
It is the only available method to configure the certificates (as well as the options and the stores).

## Certificates Stores

Expand All @@ -52,9 +52,9 @@ tls:
default: {}
```

!!! important "Beta restriction"
!!! important "Restriction"

During the beta version, any store definition other than the default one (named `default`) will be ignored,
Any store definition other than the default one (named `default`) will be ignored,
and there is thefore only one globally available TLS store.

In the `tls.certificates` section, a list of stores can then be specified to indicate where the certificates should be stored:
Expand Down Expand Up @@ -85,9 +85,9 @@ tls:
keyFile: /path/to/other-domain.key
```

!!! important "Beta restriction"
!!! important "Restriction"

During the beta version, the `stores` list will actually be ignored and automatically set to `["default"]`.
The `stores` list will actually be ignored and automatically set to `["default"]`.

### Default Certificate

Expand Down Expand Up @@ -141,17 +141,17 @@ tls:

### Client Authentication (mTLS)

Traefik supports mutual authentication, through the `ClientAuth` section.
Traefik supports mutual authentication, through the `clientAuth` section.

For authentication policies that require verification of the client certificate, the certificate authority for the certificate should be set in `ClientAuth.caFiles`.
For authentication policies that require verification of the client certificate, the certificate authority for the certificate should be set in `clientAuth.caFiles`.

The `ClientAuth.clientAuthType` option governs the behaviour as follows:
The `clientAuth.clientAuthType` option governs the behaviour as follows:

- `NoClientCert`: disregards any client certificate.
- `RequestClientCert`: asks for a certificate but proceeds anyway if none is provided.
- `RequireAnyClientCert`: requires a certificate but does not verify if it is signed by a CA listed in `ClientAuth.caFiles`.
- `VerifyClientCertIfGiven`: if a certificate is provided, verifies if it is signed by a CA listed in `ClientAuth.caFiles`. Otherwise proceeds without any certificate.
- `RequireAndVerifyClientCert`: requires a certificate, which must be signed by a CA listed in `ClientAuth.caFiles`.
- `RequireAnyClientCert`: requires a certificate but does not verify if it is signed by a CA listed in `clientAuth.caFiles`.
- `VerifyClientCertIfGiven`: if a certificate is provided, verifies if it is signed by a CA listed in `clientAuth.caFiles`. Otherwise proceeds without any certificate.
- `RequireAndVerifyClientCert`: requires a certificate, which must be signed by a CA listed in `clientAuth.caFiles`.

```toml tab="TOML"
[tls.options]
Expand Down