diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index ff440d3a1..51e54094c 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -17,7 +17,7 @@ Bug diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index 973a474cb..9a3f7ea76 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -22,7 +22,7 @@ Bug diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8662d2654..714b5e78e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,7 @@ Enhancements: - for Traefik v1: we only accept bug fixes - for Traefik v2: use branch master -HOW TO WRITE A GOOD PULL REQUEST? https://docs.traefik.io/contributing/submitting-pull-requests/ +HOW TO WRITE A GOOD PULL REQUEST? https://doc.traefik.io/traefik/contributing/submitting-pull-requests/ --> diff --git a/.travis.yml b/.travis.yml index 17c1766dc..9e45bfc10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,6 @@ before_deploy: curl -sfL https://raw.githubusercontent.com/traefik/structor/master/godownloader.sh | bash -s -- -b "${GOPATH}/bin" ${STRUCTOR_VERSION} curl -sSfL https://raw.githubusercontent.com/traefik/mixtus/master/godownloader.sh | sh -s -- -b "${GOPATH}/bin" ${MIXTUS_VERSION} structor -o traefik -r traefik --dockerfile-url="https://raw.githubusercontent.com/traefik/traefik/v1.7/docs.Dockerfile" --menu.js-url="https://raw.githubusercontent.com/traefik/structor/master/traefik-menu.js.gotmpl" --rqts-url="https://raw.githubusercontent.com/traefik/structor/master/requirements-override.txt" --force-edit-url --exp-branch=master --debug; - mixtus --dst-doc-path="./traefik" --dst-owner=traefik --dst-repo-name=doc --git-user-email="30906710+traefiker@users.noreply.github.com" --git-user-name=traefiker --src-doc-path="./site" --src-owner=traefik --src-repo-name=traefik; fi deploy: @@ -50,11 +49,9 @@ deploy: on: repo: traefik/traefik tags: true - - provider: pages - edge: false - github_token: ${GITHUB_TOKEN} - local_dir: site + - provider: script + script: mixtus --dst-doc-path="./traefik" --dst-owner=traefik --dst-repo-name=doc --git-user-email="30906710+traefiker@users.noreply.github.com" --git-user-name=traefiker --src-doc-path="./site" --src-owner=containous --src-repo-name=traefik skip_cleanup: true on: repo: traefik/traefik - all_branches: true + all_branches: true \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e3f3dcfb..761cda3a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,74 @@ +## [v2.3.0](https://github.com/traefik/traefik/tree/v2.3.0) (2020-09-23) +[All Commits](https://github.com/traefik/traefik/compare/v2.2.0-rc1...v2.3.0) + +**Enhancements:** +- **[api]** Add custom ping http code when Traefik is terminating ([#6696](https://github.com/traefik/traefik/pull/6696) by [L3o-pold](https://github.com/L3o-pold)) +- **[ecs]** Add AWS ECS provider ([#6749](https://github.com/traefik/traefik/pull/6749) by [alekitto](https://github.com/alekitto)) +- **[file]** feat: use parser to load dynamic config from file. ([#6875](https://github.com/traefik/traefik/pull/6875) by [ldez](https://github.com/ldez)) +- **[k8s,k8s/crd,k8s/ingress]** Upgrade Client-go to 0.18.2 ([#6779](https://github.com/traefik/traefik/pull/6779) by [dtomcej](https://github.com/dtomcej)) +- **[k8s,k8s/ingress]** Add new ingressClass support to ingress provider ([#6831](https://github.com/traefik/traefik/pull/6831) by [dtomcej](https://github.com/dtomcej)) +- **[k8s,k8s/ingress]** feat: update more than one LoadBalancer ip ([#6951](https://github.com/traefik/traefik/pull/6951) by [iameli](https://github.com/iameli)) +- **[k8s,k8s/ingress]** Add example for the IngressClass usage ([#7219](https://github.com/traefik/traefik/pull/7219) by [SantoDE](https://github.com/SantoDE)) +- **[kv]** Allows multi-level KV prefixes ([#6664](https://github.com/traefik/traefik/pull/6664) by [niki-timofe](https://github.com/niki-timofe)) +- **[logs,middleware,docker]** Support configuring a HTTP client timeout in the Docker provider ([#7094](https://github.com/traefik/traefik/pull/7094) by [sirlatrom](https://github.com/sirlatrom)) +- **[metrics,pilot]** Pilot metrics provider ([#7139](https://github.com/traefik/traefik/pull/7139) by [rtribotte](https://github.com/rtribotte)) +- **[pilot]** Moves pilot outside the experimental section. ([#7287](https://github.com/traefik/traefik/pull/7287) by [ldez](https://github.com/ldez)) +- **[pilot,plugins]** Traefik Pilot: plugins support and alert system (EXPERIMENTAL FEATURES) ([#7041](https://github.com/traefik/traefik/pull/7041) by [ldez](https://github.com/ldez)) +- **[plugins]** Improve plugins builder. ([#7255](https://github.com/traefik/traefik/pull/7255) by [ldez](https://github.com/ldez)) +- **[provider]** Add HTTP Provider ([#6976](https://github.com/traefik/traefik/pull/6976) by [kevinpollet](https://github.com/kevinpollet)) +- **[service,tls]** add ServersTransport on services ([#7203](https://github.com/traefik/traefik/pull/7203) by [juliens](https://github.com/juliens)) +- **[webui]** Add iOS specific icons ([#6946](https://github.com/traefik/traefik/pull/6946) by [Heisenberg74](https://github.com/Heisenberg74)) + +**Bug fixes:** +- **[acme]** fix: precheck function. ([#7333](https://github.com/traefik/traefik/pull/7333) by [ldez](https://github.com/ldez)) +- **[ecs]** Improve region resolution for ECS provider ([#7145](https://github.com/traefik/traefik/pull/7145) by [kevinpollet](https://github.com/kevinpollet)) +- **[k8s,k8s/ingress]** Delete an unnecessary warning log ([#6568](https://github.com/traefik/traefik/pull/6568) by [jbdoumenjou](https://github.com/jbdoumenjou)) +- **[k8s,k8s/ingress]** Support Kubernetes Ingress pathType ([#7087](https://github.com/traefik/traefik/pull/7087) by [rtribotte](https://github.com/rtribotte)) +- **[k8s,k8s/ingress]** Use semantic versioning to enable ingress class support ([#7065](https://github.com/traefik/traefik/pull/7065) by [kevinpollet](https://github.com/kevinpollet)) +- **[metrics]** fix: uint64 alignment in go-kit. ([#7289](https://github.com/traefik/traefik/pull/7289) by [ldez](https://github.com/ldez)) +- **[middleware]** Allow multiple secure middlewares to operate independently ([#6604](https://github.com/traefik/traefik/pull/6604) by [dtomcej](https://github.com/dtomcej)) +- **[pilot,webui]** Avoid Traefik Pilot iframe code in Traefik webui regarding notifications ([#7272](https://github.com/traefik/traefik/pull/7272) by [matthieuh](https://github.com/matthieuh)) +- **[pilot,webui]** Add ability to dismiss pilot notification ([#7200](https://github.com/traefik/traefik/pull/7200) by [matthieuh](https://github.com/matthieuh)) +- **[pilot]** fix: pilot metrics unit for req duration. ([#7309](https://github.com/traefik/traefik/pull/7309) by [ldez](https://github.com/ldez)) +- **[pilot]** fix: start of Traefik Pilot ([#7304](https://github.com/traefik/traefik/pull/7304) by [ldez](https://github.com/ldez)) +- **[provider]** file parser: skip nil value. ([#7058](https://github.com/traefik/traefik/pull/7058) by [ldez](https://github.com/ldez)) +- **[tracing]** Update jaeger-client-go dependency to v2.25.0 ([#7198](https://github.com/traefik/traefik/pull/7198) by [kevinpollet](https://github.com/kevinpollet)) + +**Documentation:** +- **[consul]** Fix consul catalog router tag example ([#7332](https://github.com/traefik/traefik/pull/7332) by [rtribotte](https://github.com/rtribotte)) +- **[ecs]** Fix documentation for ECS ([#7107](https://github.com/traefik/traefik/pull/7107) by [mmatur](https://github.com/mmatur)) +- **[k8s]** docs: add missing apigroup to Kubernetes RBAC ([#7199](https://github.com/traefik/traefik/pull/7199) by [kevinpollet](https://github.com/kevinpollet)) +- **[k8s]** Add the ingressclass resource in the ingress RBAC documentation ([#7290](https://github.com/traefik/traefik/pull/7290) by [jbdoumenjou](https://github.com/jbdoumenjou)) +- **[k8s]** Add migration documentation for IngressClass ([#7083](https://github.com/traefik/traefik/pull/7083) by [kevinpollet](https://github.com/kevinpollet)) +- **[middleware]** Fixes config samples regarding forceSlash option ([#6811](https://github.com/traefik/traefik/pull/6811) by [volkerw00](https://github.com/volkerw00)) +- **[plugins]** Update availability info ([#7060](https://github.com/traefik/traefik/pull/7060) by [PCM2](https://github.com/PCM2)) +- doc: add security policies. ([#7110](https://github.com/traefik/traefik/pull/7110) by [ldez](https://github.com/ldez)) +- Fix yaml documentation ([#7331](https://github.com/traefik/traefik/pull/7331) by [rtribotte](https://github.com/rtribotte)) + +**Misc:** +- Merge current v2.2 branch into v2.3 ([#7288](https://github.com/traefik/traefik/pull/7288) by [rtribotte](https://github.com/rtribotte)) +- Merge current v2.2 branch into v2.3 ([#7257](https://github.com/traefik/traefik/pull/7257) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7249](https://github.com/traefik/traefik/pull/7249) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7218](https://github.com/traefik/traefik/pull/7218) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7175](https://github.com/traefik/traefik/pull/7175) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7160](https://github.com/traefik/traefik/pull/7160) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7116](https://github.com/traefik/traefik/pull/7116) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into v2.3 ([#7086](https://github.com/traefik/traefik/pull/7086) by [jbdoumenjou](https://github.com/jbdoumenjou)) +- Merge current v2.2 branch into master ([#7052](https://github.com/traefik/traefik/pull/7052) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into master ([#7022](https://github.com/traefik/traefik/pull/7022) by [jbdoumenjou](https://github.com/jbdoumenjou)) +- Merge current v2.2 branch into master ([#6921](https://github.com/traefik/traefik/pull/6921) by [jbdoumenjou](https://github.com/jbdoumenjou)) +- Merge current v2.2 branch into master ([#6822](https://github.com/traefik/traefik/pull/6822) by [mmatur](https://github.com/mmatur)) +- Merge current v2.2 branch into master ([#6754](https://github.com/traefik/traefik/pull/6754) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into master ([#6533](https://github.com/traefik/traefik/pull/6533) by [ldez](https://github.com/ldez)) +- Merge current v2.2 branch into master ([#6468](https://github.com/traefik/traefik/pull/6468) by [ldez](https://github.com/ldez)) + +## [v2.3.0-rc7](https://github.com/traefik/traefik/tree/v2.3.0-rc7) (2020-09-18) +[All Commits](https://github.com/traefik/traefik/compare/v2.3.0-rc6...v2.3.0-rc7) + +**Bug fixes:** +- **[pilot]** fix: pilot metrics unit for req duration. ([#7309](https://github.com/traefik/traefik/pull/7309) by [ldez](https://github.com/ldez)) +- **[pilot]** fix: start of Traefik Pilot ([#7304](https://github.com/traefik/traefik/pull/7304) by [ldez](https://github.com/ldez)) + ## [v2.3.0-rc6](https://github.com/traefik/traefik/tree/v2.3.0-rc6) (2020-09-16) [All Commits](https://github.com/traefik/traefik/compare/v2.3.0-rc5...v2.3.0-rc6) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e774b3e04..767c6de93 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ # Contributing -- https://docs.traefik.io/contributing/submitting-pull-requests/ -- https://docs.traefik.io/contributing/submitting-issues/ +- https://doc.traefik.io/traefik/contributing/submitting-pull-requests/ +- https://doc.traefik.io/traefik/contributing/submitting-issues/ diff --git a/README.md b/README.md index d2074110e..0927c7b6a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

[![Build Status SemaphoreCI](https://semaphoreci.com/api/v1/containous/traefik/branches/master/shields_badge.svg)](https://semaphoreci.com/containous/traefik) -[![Docs](https://img.shields.io/badge/docs-current-brightgreen.svg)](https://docs.traefik.io) +[![Docs](https://img.shields.io/badge/docs-current-brightgreen.svg)](https://doc.traefik.io/traefik) [![Go Report Card](https://goreportcard.com/badge/traefik/traefik)](https://goreportcard.com/report/traefik/traefik) [![](https://images.microbadger.com/badges/image/traefik.svg)](https://microbadger.com/images/traefik) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/traefik/traefik/blob/master/LICENSE.md) @@ -33,7 +33,7 @@ Pointing Traefik at your orchestrator should be the _only_ configuration step yo --- -:warning: Please be aware that the old configurations for Traefik v1.x are NOT compatible with the v2.x config as of now. If you're running v2, please ensure you are using a [v2 configuration](https://docs.traefik.io/). +:warning: Please be aware that the old configurations for Traefik v1.x are NOT compatible with the v2.x config as of now. If you're running v2, please ensure you are using a [v2 configuration](https://doc.traefik.io/traefik/). ## Overview @@ -69,15 +69,15 @@ _(But if you'd rather configure some of your routes manually, Traefik supports t ## Supported Backends -- [Docker](https://docs.traefik.io/providers/docker/) / [Swarm mode](https://docs.traefik.io/providers/docker/) -- [Kubernetes](https://docs.traefik.io/providers/kubernetes-crd/) -- [Marathon](https://docs.traefik.io/providers/marathon/) -- [Rancher](https://docs.traefik.io/providers/rancher/) (Metadata) -- [File](https://docs.traefik.io/providers/file/) +- [Docker](https://doc.traefik.io/traefik/providers/docker/) / [Swarm mode](https://doc.traefik.io/traefik/providers/docker/) +- [Kubernetes](https://doc.traefik.io/traefik/providers/kubernetes-crd/) +- [Marathon](https://doc.traefik.io/traefik/providers/marathon/) +- [Rancher](https://doc.traefik.io/traefik/providers/rancher/) (Metadata) +- [File](https://doc.traefik.io/traefik/providers/file/) ## Quickstart -To get your hands on Traefik, you can use the [5-Minute Quickstart](https://docs.traefik.io/getting-started/quick-start/) in our documentation (you will need Docker). +To get your hands on Traefik, you can use the [5-Minute Quickstart](https://doc.traefik.io/traefik/getting-started/quick-start/) in our documentation (you will need Docker). ## Web UI @@ -87,9 +87,9 @@ You can access the simple HTML frontend of Traefik. ## Documentation -You can find the complete documentation of Traefik v2 at [https://docs.traefik.io](https://docs.traefik.io). +You can find the complete documentation of Traefik v2 at [https://doc.traefik.io/traefik/](https://doc.traefik.io/traefik/). -If you are using Traefik v1, you can find the complete documentation at [https://docs.traefik.io/v1.7/](https://docs.traefik.io/v1.7/). +If you are using Traefik v1, you can find the complete documentation at [https://doc.traefik.io/traefik/v1.7/](https://doc.traefik.io/traefik/v1.7/). A collection of contributions around Traefik can be found at [https://awesome.traefik.io](https://awesome.traefik.io). diff --git a/cmd/traefik/plugins.go b/cmd/traefik/plugins.go index aa4e9bcbe..15c698199 100644 --- a/cmd/traefik/plugins.go +++ b/cmd/traefik/plugins.go @@ -36,5 +36,5 @@ func isPilotEnabled(staticCfg *static.Configuration) bool { func hasPlugins(staticCfg *static.Configuration) bool { return staticCfg.Experimental != nil && - len(staticCfg.Experimental.Plugins) > 0 || staticCfg.Experimental.DevPlugin != nil + (len(staticCfg.Experimental.Plugins) > 0 || staticCfg.Experimental.DevPlugin != nil) } diff --git a/cmd/traefik/traefik.go b/cmd/traefik/traefik.go index 737ecf5c5..66321ead0 100644 --- a/cmd/traefik/traefik.go +++ b/cmd/traefik/traefik.go @@ -483,13 +483,13 @@ func stats(staticConfiguration *static.Configuration) { logger.Info(`Stats collection is enabled.`) logger.Info(`Many thanks for contributing to Traefik's improvement by allowing us to receive anonymous information from your configuration.`) logger.Info(`Help us improve Traefik by leaving this feature on :)`) - logger.Info(`More details on: https://docs.traefik.io/contributing/data-collection/`) + logger.Info(`More details on: https://doc.traefik.io/traefik/contributing/data-collection/`) collect(staticConfiguration) } else { logger.Info(` Stats collection is disabled. Help us improve Traefik by turning this feature on :) -More details on: https://docs.traefik.io/contributing/data-collection/ +More details on: https://doc.traefik.io/traefik/contributing/data-collection/ `) } } diff --git a/contrib/systemd/traefik.service b/contrib/systemd/traefik.service index 5b1d04975..2fdc7e238 100644 --- a/contrib/systemd/traefik.service +++ b/contrib/systemd/traefik.service @@ -1,6 +1,6 @@ [Unit] Description=Traefik -Documentation=https://docs.traefik.io +Documentation=https://doc.traefik.io/traefik/ #After=network-online.target #AssertFileIsExecutable=/usr/bin/traefik #AssertPathExists=/etc/traefik/traefik.toml diff --git a/docs/content/CNAME b/docs/content/CNAME deleted file mode 100644 index f4446d431..000000000 --- a/docs/content/CNAME +++ /dev/null @@ -1 +0,0 @@ -docs.traefik.io \ No newline at end of file diff --git a/docs/content/assets/img/traefik.icon.png b/docs/content/assets/img/traefik.icon.png deleted file mode 100644 index 9708dd0ba..000000000 Binary files a/docs/content/assets/img/traefik.icon.png and /dev/null differ diff --git a/docs/content/assets/img/traefik.logo.horizontal.png b/docs/content/assets/img/traefik.logo.horizontal.png deleted file mode 100644 index 0e440c37a..000000000 Binary files a/docs/content/assets/img/traefik.logo.horizontal.png and /dev/null differ diff --git a/docs/content/assets/img/traefik.logo.png b/docs/content/assets/img/traefik.logo.png deleted file mode 100644 index 4778d0f5b..000000000 Binary files a/docs/content/assets/img/traefik.logo.png and /dev/null differ diff --git a/docs/content/assets/img/traefikproxy-icon-color.png b/docs/content/assets/img/traefikproxy-icon-color.png new file mode 100644 index 000000000..c2e7a7b3a Binary files /dev/null and b/docs/content/assets/img/traefikproxy-icon-color.png differ diff --git a/docs/content/assets/img/traefikproxy-vertical-logo-color.svg b/docs/content/assets/img/traefikproxy-vertical-logo-color.svg new file mode 100644 index 000000000..7cd80f443 --- /dev/null +++ b/docs/content/assets/img/traefikproxy-vertical-logo-color.svg @@ -0,0 +1,9 @@ + + + TraefikProxy-vertical-logo-color + + + + + + \ No newline at end of file diff --git a/docs/content/assets/styles/header.css b/docs/content/assets/styles/header.css index 5c539a5ca..eb11e68d8 100644 --- a/docs/content/assets/styles/header.css +++ b/docs/content/assets/styles/header.css @@ -189,6 +189,10 @@ .nav-dropdown-menu--solutions .nav-dropdown-menu-wrapper { padding: 20px; } +.nav-dropdown-menu--products .nav-dropdown-menu-wrapper { + height: 430px; +} + .nav-dropdown-menu--products .dm-header, .nav-dropdown-menu--solutions .dm-header { font-size: 1.1em; @@ -204,7 +208,7 @@ .nav-dropdown-menu--products .dm-item, .nav-dropdown-menu--solutions .dm-item { border: none; - margin: 0 0 20px; + margin: 0 0 24px; color: #06102a; transition: all 0.1s; position: relative; @@ -214,12 +218,11 @@ .nav-dropdown-menu--solutions .dm-item:last-child { margin-bottom: 0; } -.nav-dropdown-menu--products .dm-item .dmi-image, -.nav-dropdown-menu--solutions .dm-item .dmi-image { - width: 118px; - height: 92px; +.nav-dropdown-menu--products .dm-item .dmi-image { + width: 104px; + height: 72px; position: absolute; - background: #f4f4f4; + /*background: #f4f4f4;*/ display: flex; align-items: center; justify-content: center; @@ -227,13 +230,22 @@ border-radius: 4px; z-index: 0; } -.nav-dropdown-menu--products .dm-item .dmi-image img, + +.nav-dropdown-menu--solutions .dm-item .dmi-image { + width: 65px; + padding: 10px; + background: white; + height: auto; + position: absolute; + z-index: 0; +} + .nav-dropdown-menu--solutions .dm-item .dmi-image img { width: 100%; } .nav-dropdown-menu--products .dm-item .dmi-details, .nav-dropdown-menu--solutions .dm-item .dmi-details { - padding: 8px 0 10px 135px; + padding: 6px 0 0 127px; width: 100%; background: transparent; display: block; @@ -262,12 +274,6 @@ transform: scale(1.1); } -.nav-dropdown-menu--solutions .dm-item .dmi-image { - width: 65px; - padding: 10px; - background: white; - height: auto; -} .nav-dropdown-menu--solutions .dm-item .dmi-details { padding: 5px 0 0 80px; } @@ -275,7 +281,7 @@ margin-bottom: 10px; } -/* Dropdown menu: Learn */ +/* Dropdown menu: Learn and Company */ .nav-dropdown-menu--learn { width: 250px; } @@ -420,7 +426,7 @@ display: none; } -@media (max-width: 1060px) { +@media (max-width: 1219px) { .site-header__nav .menu-item-wrapper { padding-left: 20px; } @@ -453,10 +459,26 @@ } .md-header .md-search { - margin-left: 12.1rem; -} + margin-right: 12.1rem; +} .site-header__main { display: flex; align-items: center; } + +.dmi-image.proxy { + background-color: #24a1c1; +} + +.dmi-image.mesh { + background-color: #9d0fb0; +} + +.dmi-image.enterprise { + background-color: #0060e0; +} + +.dmi-image.pilot { + background-color: #db7d11; +} diff --git a/docs/content/assets/styles/product-switcher.css b/docs/content/assets/styles/product-switcher.css index a4bfcb9bb..fa6c6c472 100644 --- a/docs/content/assets/styles/product-switcher.css +++ b/docs/content/assets/styles/product-switcher.css @@ -6,6 +6,19 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } +.product-switcher .menu-item-wrapper { + padding-left: 15px; +} + .product-switcher img { margin-right: 10px; } + +.product-switcher img.gopher { + margin: 0 2px 0 16px; +} + +.product-switcher .nav-dropdown-menu--products .nav-dropdown-menu-wrapper { + width: auto; + height: auto; +} diff --git a/docs/content/contributing/advocating.md b/docs/content/contributing/advocating.md index 791338526..22083ee46 100644 --- a/docs/content/contributing/advocating.md +++ b/docs/content/contributing/advocating.md @@ -5,6 +5,6 @@ Spread the Love & Tell Us about It There are many ways to contribute to the project, and there is one that always spark joy: when we see/read about users talking about how Traefik helps them solve their problems. -If you're talking about Traefik, [let us know](https://blog.containo.us/spread-the-love-ba5a40aa72e7) and we'll promote your enthusiasm! +If you're talking about Traefik, [let us know](https://blog.traefik.io/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/traefik/traefik/wiki/Awesome-Traefik). diff --git a/docs/content/contributing/documentation.md b/docs/content/contributing/documentation.md index 374d36671..6b3e0316c 100644 --- a/docs/content/contributing/documentation.md +++ b/docs/content/contributing/documentation.md @@ -10,7 +10,7 @@ Let's see how. ### General -This [documentation](https://docs.traefik.io/) is built with [mkdocs](https://mkdocs.org/). +This [documentation](https://doc.traefik.io/traefik/) is built with [mkdocs](https://mkdocs.org/). ### Method 1: `Docker` and `make` diff --git a/docs/content/contributing/submitting-issues.md b/docs/content/contributing/submitting-issues.md index 1fa0bf61a..512a06b53 100644 --- a/docs/content/contributing/submitting-issues.md +++ b/docs/content/contributing/submitting-issues.md @@ -14,7 +14,7 @@ To save us some time and get quicker feedback, be sure to follow the guide lines For end-user related support questions, try using first: - - the Traefik community forum: [![Join the chat at https://community.containo.us/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.containo.us/) + - the Traefik community forum: [![Join the chat at https://community.traefik.io/](https://img.shields.io/badge/style-register-green.svg?style=social&label=Discourse)](https://community.traefik.io/) ## Issue Title diff --git a/docs/content/getting-started/install-traefik.md b/docs/content/getting-started/install-traefik.md index a91cb5075..a10d58212 100644 --- a/docs/content/getting-started/install-traefik.md +++ b/docs/content/getting-started/install-traefik.md @@ -30,7 +30,7 @@ For more details, go to the [Docker provider documentation](../providers/docker. !!! warning 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). + [Helm's default charts repository](https://github.com/helm/charts/tree/master/stable/traefik) is still using [Traefik v1.7](https://doc.traefik.io/traefik/v1.7). Traefik can be installed in Kubernetes using the Helm chart from . diff --git a/docs/content/glossary.md b/docs/content/glossary.md index ab645e458..cd5ba446a 100644 --- a/docs/content/glossary.md +++ b/docs/content/glossary.md @@ -12,7 +12,7 @@ Where Every Technical Word finds its Definition` - [ ] [Static configuration](getting-started/configuration-overview.md#the-static-configuration) - [ ] [Dynamic configuration](getting-started/configuration-overview.md#the-dynamic-configuration) - [ ] ACME -- [ ] TraefikEE +- [ ] Traefik Enterprise - [ ] Tracing - [ ] Metrics - [ ] Orchestrator diff --git a/docs/content/index.md b/docs/content/index.md index c84bd380c..112b90df4 100644 --- a/docs/content/index.md +++ b/docs/content/index.md @@ -20,9 +20,9 @@ Developing Traefik, our main goal is to make it simple to use, and we're sure yo !!! info - Join our user friendly and active [Community Forum](https://community.containo.us) to discuss, learn, and connect with the traefik community. + Join our user friendly and active [Community Forum](https://community.traefik.io) to discuss, learn, and connect with the traefik community. If you're a business running critical services behind Traefik, - know that [Containous](https://containo.us), the company that sponsors Traefik's development, - can provide [commercial support](https://info.containo.us/commercial-services) - and develops an [Enterprise Edition](https://containo.us/traefikee/) of Traefik. + know that [Traefik Labs](https://traefik.io), the company that sponsors Traefik's development, + can provide [commercial support](https://info.traefik.io/commercial-services) + and develops an [Enterprise Edition](https://traefik.io/traefik-enterprise/) of Traefik. diff --git a/docs/content/migration/v1-to-v2.md b/docs/content/migration/v1-to-v2.md index 812dfeb67..7840726ed 100644 --- a/docs/content/migration/v1-to-v2.md +++ b/docs/content/migration/v1-to-v2.md @@ -104,7 +104,7 @@ Then any router can refer to an instance of the wanted middleware. ```yaml tab="K8s IngressRoute" # The definitions below require the definitions for the Middleware and IngressRoute kinds. - # https://docs.traefik.io/v2.2/reference/dynamic-configuration/kubernetes-crd/#definitions + # https://doc.traefik.io/traefik/v2.3/reference/dynamic-configuration/kubernetes-crd/#definitions apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: @@ -275,7 +275,7 @@ Then, a [router's TLS field](../routing/routers/index.md#tls) can refer to one o ```yaml tab="K8s IngressRoute" # The definitions below require the definitions for the TLSOption and IngressRoute kinds. - # https://docs.traefik.io/v2.2/reference/dynamic-configuration/kubernetes-crd/#definitions + # https://doc.traefik.io/traefik/v2.3/reference/dynamic-configuration/kubernetes-crd/#definitions apiVersion: traefik.containo.us/v1alpha1 kind: TLSOption metadata: @@ -1145,4 +1145,4 @@ Supported [providers](../providers/overview.md), for now: - Now, configuration elements can be referenced between different providers by using the provider namespace notation: `@`. For instance, a router named `myrouter` in a File Provider can refer to a service named `myservice` defined in Docker Provider with the following notation: `myservice@docker`. - Middlewares are applied in the same order as their declaration in router. -- If you have any questions feel free to join our [community forum](https://community.containo.us). +- If you have any questions feel free to join our [community forum](https://community.traefik.io). diff --git a/docs/content/plugins/overview.md b/docs/content/plugins/overview.md index 5f8950892..2ebd9977b 100644 --- a/docs/content/plugins/overview.md +++ b/docs/content/plugins/overview.md @@ -6,7 +6,7 @@ Overview Traefik Pilot is a software-as-a-service (SaaS) platform that connects to Traefik to extend its capabilities. It does this through *plugins*, which are dynamically loaded components that enable new features. -For example, Traefik plugins can add features to modify requests or headers, issue redirects, add authentication, and so on, providing similar functionality to Traefik [middlewares](https://docs.traefik.io/middlewares/overview/). +For example, Traefik plugins can add features to modify requests or headers, issue redirects, add authentication, and so on, providing similar functionality to Traefik [middlewares](https://doc.traefik.io/traefik/middlewares/overview/). Traefik Pilot can also monitor connected Traefik instances and issue alerts when one is not responding, or when it is subject to security vulnerabilities. diff --git a/docs/content/providers/consul-catalog.md b/docs/content/providers/consul-catalog.md index ea178f5fb..5cdd633ca 100644 --- a/docs/content/providers/consul-catalog.md +++ b/docs/content/providers/consul-catalog.md @@ -29,7 +29,7 @@ Attach tags to your services and let Traefik do the rest! Attaching tags to services ```yaml - - traefik.http.services.my-service.rule=Host(`example.com`) + - traefik.http.routers.my-router.rule=Host(`example.com`) ``` ## Routing Configuration diff --git a/docs/content/providers/docker.md b/docs/content/providers/docker.md index 9dbeedd4e..7beac7c0b 100644 --- a/docs/content/providers/docker.md +++ b/docs/content/providers/docker.md @@ -60,14 +60,17 @@ and [Docker Swarm Mode](https://docs.docker.com/engine/swarm/). providers: docker: # swarm classic (1.12-) - # endpoint = "tcp://127.0.0.1:2375" + # endpoint: "tcp://127.0.0.1:2375" # docker swarm mode (1.12+) - endpoint: "tcp://127.0.0.1:2375" + endpoint: "tcp://127.0.0.1:2377" swarmMode: true ``` ```bash tab="CLI" - --providers.docker.endpoint=tcp://127.0.0.1:2375 + # swarm classic (1.12-) + # --providers.docker.endpoint=tcp://127.0.0.1:2375 + # docker swarm mode (1.12+) + --providers.docker.endpoint=tcp://127.0.0.1:2377 --providers.docker.swarmMode=true ``` @@ -163,7 +166,7 @@ You can specify which Docker API Endpoint to use with the directive [`endpoint`] ??? info "More Resources and Examples" - ["Paranoid about mounting /var/run/docker.sock?"](https://medium.com/@containeroo/traefik-2-0-paranoid-about-mounting-var-run-docker-sock-22da9cb3e78c) - - [Traefik and Docker: A Discussion with Docker Captain, Bret Fisher](https://blog.containo.us/traefik-and-docker-a-discussion-with-docker-captain-bret-fisher-7f0b9a54ff88) + - [Traefik and Docker: A Discussion with Docker Captain, Bret Fisher](https://blog.traefik.io/traefik-and-docker-a-discussion-with-docker-captain-bret-fisher-7f0b9a54ff88) - [KubeCon EU 2018 Keynote, Running with Scissors, from Liz Rice](https://www.youtube.com/watch?v=ltrV-Qmh3oY) - [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) diff --git a/docs/content/providers/kubernetes-crd.md b/docs/content/providers/kubernetes-crd.md index a63af0e6e..a05aeed36 100644 --- a/docs/content/providers/kubernetes-crd.md +++ b/docs/content/providers/kubernetes-crd.md @@ -53,9 +53,9 @@ For this reason, users can run multiple instances of Traefik at the same time to When using a single instance of Traefik with LetsEncrypt, no issues should be encountered, however this could be a single point of failure. Unfortunately, it is not possible to run multiple instances of Traefik 2.0 with LetsEncrypt enabled, because there is no way to ensure that the correct instance of Traefik will receive the challenge request, and subsequent responses. -Previous versions of Traefik used a [KV store](https://docs.traefik.io/v1.7/configuration/acme/#storage) to attempt to achieve this, but due to sub-optimal performance was dropped as a feature in 2.0. +Previous versions of Traefik used a [KV store](https://doc.traefik.io/traefik/v1.7/configuration/acme/#storage) to attempt to achieve this, but due to sub-optimal performance was dropped as a feature in 2.0. -If you require LetsEncrypt with HA in a kubernetes environment, we recommend using [TraefikEE](https://containo.us/traefikee/) where distributed LetsEncrypt is a supported feature. +If you require LetsEncrypt with HA in a kubernetes environment, we recommend using [Traefik Enterprise](https://traefik.io/traefik-enterprise/) where distributed LetsEncrypt is a supported feature. If you want to continue to run Traefik Community Edition, LetsEncrypt HA can be achieved by using a Certificate Controller such as [Cert-Manager](https://docs.cert-manager.io/en/latest/index.html). When using Cert-Manager to manage certificates, it will create secrets in your namespaces that can be referenced as TLS secrets in your [ingress objects](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls). @@ -78,7 +78,7 @@ _Optional, Default=empty_ ```yaml tab="File (YAML)" providers: kubernetesCRD: - endpoint = "http://localhost:8080" + endpoint: "http://localhost:8080" # ... ``` @@ -112,7 +112,7 @@ _Optional, Default=empty_ ```yaml tab="File (YAML)" providers: kubernetesCRD: - token = "mytoken" + token: "mytoken" # ... ``` diff --git a/docs/content/providers/kubernetes-ingress.md b/docs/content/providers/kubernetes-ingress.md index 7f7d70d36..873ea5145 100644 --- a/docs/content/providers/kubernetes-ingress.md +++ b/docs/content/providers/kubernetes-ingress.md @@ -65,11 +65,11 @@ When using a single instance of Traefik with LetsEncrypt, no issues should be en however this could be a single point of failure. Unfortunately, it is not possible to run multiple instances of Traefik 2.0 with LetsEncrypt enabled, because there is no way to ensure that the correct instance of Traefik will receive the challenge request, and subsequent responses. -Previous versions of Traefik used a [KV store](https://docs.traefik.io/v1.7/configuration/acme/#storage) to attempt to achieve this, +Previous versions of Traefik used a [KV store](https://doc.traefik.io/traefik/v1.7/configuration/acme/#storage) to attempt to achieve this, but due to sub-optimal performance was dropped as a feature in 2.0. If you require LetsEncrypt with HA in a kubernetes environment, -we recommend using [TraefikEE](https://containo.us/traefikee/) where distributed LetsEncrypt is a supported feature. +we recommend using [Traefik Enterprise](https://traefik.io/traefik-enterprise/) where distributed LetsEncrypt is a supported feature. If you are wanting to continue to run Traefik Community Edition, LetsEncrypt HA can be achieved by using a Certificate Controller such as [Cert-Manager](https://docs.cert-manager.io/en/latest/index.html). @@ -91,7 +91,7 @@ _Optional, Default=empty_ ```yaml tab="File (YAML)" providers: kubernetesIngress: - endpoint = "http://localhost:8080" + endpoint: "http://localhost:8080" # ... ``` @@ -124,7 +124,7 @@ _Optional, Default=empty_ ```yaml tab="File (YAML)" providers: kubernetesIngress: - token = "mytoken" + token: "mytoken" # ... ``` diff --git a/docs/content/providers/overview.md b/docs/content/providers/overview.md index cb651de64..a3b26b028 100644 --- a/docs/content/providers/overview.md +++ b/docs/content/providers/overview.md @@ -43,7 +43,7 @@ Below is the list of the currently supported providers in Traefik. !!! info "More Providers" The current version of Traefik doesn't support (yet) every provider. - See the [previous version (v1.7)](https://docs.traefik.io/v1.7/) for more providers. + See the [previous version (v1.7)](https://doc.traefik.io/traefik/v1.7/) for more providers. ### Configuration reload frequency diff --git a/docs/content/reference/dynamic-configuration/file.yaml b/docs/content/reference/dynamic-configuration/file.yaml index fa1a84ee7..9a9076ee6 100644 --- a/docs/content/reference/dynamic-configuration/file.yaml +++ b/docs/content/reference/dynamic-configuration/file.yaml @@ -257,7 +257,7 @@ http: Middleware14: plugin: PluginConf: - foo = "bar" + foo: bar Middleware15: rateLimit: average: 42 diff --git a/docs/content/routing/providers/docker.md b/docs/content/routing/providers/docker.md index 99128c188..6cc0cf2a8 100644 --- a/docs/content/routing/providers/docker.md +++ b/docs/content/routing/providers/docker.md @@ -75,14 +75,17 @@ Attach labels to your containers and let Traefik do the rest! providers: docker: # swarm classic (1.12-) - # endpoint = "tcp://127.0.0.1:2375" + # endpoint: "tcp://127.0.0.1:2375" # docker swarm mode (1.12+) - endpoint: "tcp://127.0.0.1:2375" + endpoint: "tcp://127.0.0.1:2377" swarmMode: true ``` ```bash tab="CLI" - --providers.docker.endpoint=tcp://127.0.0.1:2375 + # swarm classic (1.12-) + # --providers.docker.endpoint=tcp://127.0.0.1:2375 + # docker swarm mode (1.12+) + --providers.docker.endpoint=tcp://127.0.0.1:2377 --providers.docker.swarmMode=true ``` diff --git a/docs/content/routing/services/index.md b/docs/content/routing/services/index.md index 5d2d0acd0..43920312e 100644 --- a/docs/content/routing/services/index.md +++ b/docs/content/routing/services/index.md @@ -914,7 +914,7 @@ http: # maxBodySize is the maximum size allowed for the body of the request. # If the body is larger, the request is not mirrored. # Default value is -1, which means unlimited size. - maxBodySize = 1024 + maxBodySize: 1024 mirrors: - name: appv2 percent: 10 diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 5870029e9..6613bfc93 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -1,7 +1,7 @@ site_name: Traefik site_description: Traefik Documentation -site_author: containo.us -site_url: https://docs.traefik.io +site_author: traefik.io +site_url: https://doc.traefik.io/traefik dev_addr: 0.0.0.0:8000 repo_name: 'GitHub' @@ -15,8 +15,8 @@ theme: custom_dir: 'theme' language: en include_sidebar: true - favicon: assets/img/traefik.icon.png - logo: assets/img/traefik.logo.png + favicon: assets/img/traefikproxy-icon-color.png + logo: assets/img/traefikproxy-vertical-logo-color.svg feature: tabs: false palette: diff --git a/docs/scripts/verify.sh b/docs/scripts/verify.sh index 848d83d52..029462564 100755 --- a/docs/scripts/verify.sh +++ b/docs/scripts/verify.sh @@ -19,9 +19,10 @@ find "${PATH_TO_SITE}" -type f -not -path "/app/site/theme/*" \ htmlproofer \ --check-html \ --check_external_hash \ - --alt_ignore="/traefik.logo.png/" \ + --alt_ignore="/traefikproxy-vertical-logo-color.svg/" \ --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\/$/,/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/" \ + --file_ignore="/404.html/" \ + --url_ignore="/https://groups.google.com/a/traefik.io/forum/#!forum/security/,/localhost:/,/127.0.0.1:/,/fonts.gstatic.com/,/.minikube/,/github.com\/traefik\/traefik\/*edit*/,/github.com\/traefik\/traefik/,/doc.traefik.io/,/github\.com\/golang\/oauth2\/blob\/36a7019397c4c86cf59eeab3bc0d188bac444277\/.+/,/www.akamai.com/,/pilot.traefik.io\/profile/,/traefik.io/,/doc.traefik.io\/traefik-mesh/,/www.mkdocs.org/,/squidfunk.github.io/,/ietf.org/" \ '{}' 1>/dev/null ## HTML-proofer options at https://github.com/gjtorikian/html-proofer#configuration diff --git a/docs/theme/assets/images/traefik-enterprise-logo.svg b/docs/theme/assets/images/traefik-enterprise-logo.svg new file mode 100644 index 000000000..f183189f9 --- /dev/null +++ b/docs/theme/assets/images/traefik-enterprise-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/theme/assets/images/traefik-labs.svg b/docs/theme/assets/images/traefik-labs.svg new file mode 100644 index 000000000..1a1fb942f --- /dev/null +++ b/docs/theme/assets/images/traefik-labs.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/theme/assets/images/traefik-mesh-logo.svg b/docs/theme/assets/images/traefik-mesh-logo.svg new file mode 100644 index 000000000..6f0a7f2d7 --- /dev/null +++ b/docs/theme/assets/images/traefik-mesh-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/theme/assets/images/traefik-pilot-logo.svg b/docs/theme/assets/images/traefik-pilot-logo.svg new file mode 100644 index 000000000..30dc2d91b --- /dev/null +++ b/docs/theme/assets/images/traefik-pilot-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/theme/assets/images/traefik-proxy-logo-long.svg b/docs/theme/assets/images/traefik-proxy-logo-long.svg new file mode 100644 index 000000000..3f0ef49db --- /dev/null +++ b/docs/theme/assets/images/traefik-proxy-logo-long.svg @@ -0,0 +1,14 @@ + + + TraefikProxy-horizontal-logo-color + + + + + + + + + + + \ No newline at end of file diff --git a/docs/theme/assets/images/traefik-proxy-logo.svg b/docs/theme/assets/images/traefik-proxy-logo.svg new file mode 100644 index 000000000..9a7ff2e4b --- /dev/null +++ b/docs/theme/assets/images/traefik-proxy-logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/theme/main.html b/docs/theme/main.html index 8abec98bf..804895802 100644 --- a/docs/theme/main.html +++ b/docs/theme/main.html @@ -77,7 +77,7 @@ diff --git a/docs/theme/partials/company-header.html b/docs/theme/partials/company-header.html index f1acb902a..a32909c32 100644 --- a/docs/theme/partials/company-header.html +++ b/docs/theme/partials/company-header.html @@ -8,11 +8,11 @@
@@ -32,13 +32,39 @@