chore: apply new documentation style.
Co-authored-by: jbdoumenjou <jb.doumenjou@gmail.com>
2
.github/ISSUE_TEMPLATE.md
vendored
|
@ -17,7 +17,7 @@ Bug
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
The configurations between 1.X and 2.X are NOT compatible.
|
The configurations between 1.X and 2.X are NOT compatible.
|
||||||
Please have a look here https://docs.traefik.io/v2.0/getting-started/configuration-overview/.
|
Please have a look here https://doc.traefik.io/traefik/getting-started/configuration-overview/.
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/Bug_report.md
vendored
|
@ -22,7 +22,7 @@ Bug
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
The configurations between 1.X and 2.X are NOT compatible.
|
The configurations between 1.X and 2.X are NOT compatible.
|
||||||
Please have a look here https://docs.traefik.io/v2.0/getting-started/configuration-overview/.
|
Please have a look here https://doc.traefik.io/traefik/getting-started/configuration-overview/.
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -13,7 +13,7 @@ Enhancements:
|
||||||
- for Traefik v1: we only accept bug fixes
|
- for Traefik v1: we only accept bug fixes
|
||||||
- for Traefik v2: use branch master
|
- 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/
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
|
@ -50,11 +50,9 @@ deploy:
|
||||||
on:
|
on:
|
||||||
repo: traefik/traefik
|
repo: traefik/traefik
|
||||||
tags: true
|
tags: true
|
||||||
- provider: pages
|
- provider: script
|
||||||
edge: false
|
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
|
||||||
github_token: ${GITHUB_TOKEN}
|
|
||||||
local_dir: site
|
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
on:
|
on:
|
||||||
repo: traefik/traefik
|
repo: traefik/traefik
|
||||||
all_branches: true
|
all_branches: true
|
|
@ -1,4 +1,4 @@
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
- https://docs.traefik.io/contributing/submitting-pull-requests/
|
- https://doc.traefik.io/traefik/contributing/submitting-pull-requests/
|
||||||
- https://docs.traefik.io/contributing/submitting-issues/
|
- https://doc.traefik.io/traefik/contributing/submitting-issues/
|
||||||
|
|
20
README.md
|
@ -4,7 +4,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[![Build Status SemaphoreCI](https://semaphoreci.com/api/v1/containous/traefik/branches/master/shields_badge.svg)](https://semaphoreci.com/containous/traefik)
|
[![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)
|
[![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)
|
[![](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)
|
[![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
|
## Overview
|
||||||
|
|
||||||
|
@ -69,15 +69,15 @@ _(But if you'd rather configure some of your routes manually, Traefik supports t
|
||||||
|
|
||||||
## Supported Backends
|
## Supported Backends
|
||||||
|
|
||||||
- [Docker](https://docs.traefik.io/providers/docker/) / [Swarm mode](https://docs.traefik.io/providers/docker/)
|
- [Docker](https://doc.traefik.io/traefik/providers/docker/) / [Swarm mode](https://doc.traefik.io/traefik/providers/docker/)
|
||||||
- [Kubernetes](https://docs.traefik.io/providers/kubernetes-crd/)
|
- [Kubernetes](https://doc.traefik.io/traefik/providers/kubernetes-crd/)
|
||||||
- [Marathon](https://docs.traefik.io/providers/marathon/)
|
- [Marathon](https://doc.traefik.io/traefik/providers/marathon/)
|
||||||
- [Rancher](https://docs.traefik.io/providers/rancher/) (Metadata)
|
- [Rancher](https://doc.traefik.io/traefik/providers/rancher/) (Metadata)
|
||||||
- [File](https://docs.traefik.io/providers/file/)
|
- [File](https://doc.traefik.io/traefik/providers/file/)
|
||||||
|
|
||||||
## Quickstart
|
## 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
|
## Web UI
|
||||||
|
|
||||||
|
@ -87,9 +87,9 @@ You can access the simple HTML frontend of Traefik.
|
||||||
|
|
||||||
## Documentation
|
## 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).
|
A collection of contributions around Traefik can be found at [https://awesome.traefik.io](https://awesome.traefik.io).
|
||||||
|
|
||||||
|
|
|
@ -478,13 +478,13 @@ func stats(staticConfiguration *static.Configuration) {
|
||||||
logger.Info(`Stats collection is enabled.`)
|
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(`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(`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)
|
collect(staticConfiguration)
|
||||||
} else {
|
} else {
|
||||||
logger.Info(`
|
logger.Info(`
|
||||||
Stats collection is disabled.
|
Stats collection is disabled.
|
||||||
Help us improve Traefik by turning this feature on :)
|
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/
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Traefik
|
Description=Traefik
|
||||||
Documentation=https://docs.traefik.io
|
Documentation=https://doc.traefik.io/traefik/
|
||||||
#After=network-online.target
|
#After=network-online.target
|
||||||
#AssertFileIsExecutable=/usr/bin/traefik
|
#AssertFileIsExecutable=/usr/bin/traefik
|
||||||
#AssertPathExists=/etc/traefik/traefik.toml
|
#AssertPathExists=/etc/traefik/traefik.toml
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
docs.traefik.io
|
|
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 34 KiB |
BIN
docs/content/assets/img/traefikproxy-icon-color.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
After Width: | Height: | Size: 20 KiB |
|
@ -189,6 +189,10 @@
|
||||||
.nav-dropdown-menu--solutions .nav-dropdown-menu-wrapper {
|
.nav-dropdown-menu--solutions .nav-dropdown-menu-wrapper {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
.nav-dropdown-menu--products .nav-dropdown-menu-wrapper {
|
||||||
|
height: 430px;
|
||||||
|
}
|
||||||
|
|
||||||
.nav-dropdown-menu--products .dm-header,
|
.nav-dropdown-menu--products .dm-header,
|
||||||
.nav-dropdown-menu--solutions .dm-header {
|
.nav-dropdown-menu--solutions .dm-header {
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
|
@ -204,7 +208,7 @@
|
||||||
.nav-dropdown-menu--products .dm-item,
|
.nav-dropdown-menu--products .dm-item,
|
||||||
.nav-dropdown-menu--solutions .dm-item {
|
.nav-dropdown-menu--solutions .dm-item {
|
||||||
border: none;
|
border: none;
|
||||||
margin: 0 0 20px;
|
margin: 0 0 24px;
|
||||||
color: #06102a;
|
color: #06102a;
|
||||||
transition: all 0.1s;
|
transition: all 0.1s;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -214,12 +218,11 @@
|
||||||
.nav-dropdown-menu--solutions .dm-item:last-child {
|
.nav-dropdown-menu--solutions .dm-item:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.nav-dropdown-menu--products .dm-item .dmi-image,
|
.nav-dropdown-menu--products .dm-item .dmi-image {
|
||||||
.nav-dropdown-menu--solutions .dm-item .dmi-image {
|
width: 104px;
|
||||||
width: 118px;
|
height: 72px;
|
||||||
height: 92px;
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background: #f4f4f4;
|
/*background: #f4f4f4;*/
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
@ -227,13 +230,22 @@
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
z-index: 0;
|
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 {
|
.nav-dropdown-menu--solutions .dm-item .dmi-image img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.nav-dropdown-menu--products .dm-item .dmi-details,
|
.nav-dropdown-menu--products .dm-item .dmi-details,
|
||||||
.nav-dropdown-menu--solutions .dm-item .dmi-details {
|
.nav-dropdown-menu--solutions .dm-item .dmi-details {
|
||||||
padding: 8px 0 10px 135px;
|
padding: 6px 0 0 127px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -262,12 +274,6 @@
|
||||||
transform: scale(1.1);
|
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 {
|
.nav-dropdown-menu--solutions .dm-item .dmi-details {
|
||||||
padding: 5px 0 0 80px;
|
padding: 5px 0 0 80px;
|
||||||
}
|
}
|
||||||
|
@ -275,7 +281,7 @@
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dropdown menu: Learn */
|
/* Dropdown menu: Learn and Company */
|
||||||
.nav-dropdown-menu--learn {
|
.nav-dropdown-menu--learn {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
}
|
}
|
||||||
|
@ -420,7 +426,7 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1060px) {
|
@media (max-width: 1219px) {
|
||||||
.site-header__nav .menu-item-wrapper {
|
.site-header__nav .menu-item-wrapper {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
}
|
}
|
||||||
|
@ -453,10 +459,26 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.md-header .md-search {
|
.md-header .md-search {
|
||||||
margin-left: 12.1rem;
|
margin-right: 12.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-header__main {
|
.site-header__main {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,19 @@
|
||||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.product-switcher .menu-item-wrapper {
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
.product-switcher img {
|
.product-switcher img {
|
||||||
margin-right: 10px;
|
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;
|
||||||
|
}
|
||||||
|
|
|
@ -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.
|
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).
|
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).
|
||||||
|
|
|
@ -10,7 +10,7 @@ Let's see how.
|
||||||
|
|
||||||
### General
|
### 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`
|
### Method 1: `Docker` and `make`
|
||||||
|
|
||||||
|
|
|
@ -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:
|
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
|
## Issue Title
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ For more details, go to the [Docker provider documentation](../providers/docker.
|
||||||
!!! warning
|
!!! warning
|
||||||
|
|
||||||
The Traefik Chart from
|
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 <https://github.com/traefik/traefik-helm-chart>.
|
Traefik can be installed in Kubernetes using the Helm chart from <https://github.com/traefik/traefik-helm-chart>.
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ Where Every Technical Word finds its Definition`
|
||||||
- [ ] [Static configuration](getting-started/configuration-overview.md#the-static-configuration)
|
- [ ] [Static configuration](getting-started/configuration-overview.md#the-static-configuration)
|
||||||
- [ ] [Dynamic configuration](getting-started/configuration-overview.md#the-dynamic-configuration)
|
- [ ] [Dynamic configuration](getting-started/configuration-overview.md#the-dynamic-configuration)
|
||||||
- [ ] ACME
|
- [ ] ACME
|
||||||
- [ ] TraefikEE
|
- [ ] Traefik Enterprise
|
||||||
- [ ] Tracing
|
- [ ] Tracing
|
||||||
- [ ] Metrics
|
- [ ] Metrics
|
||||||
- [ ] Orchestrator
|
- [ ] Orchestrator
|
||||||
|
|
|
@ -20,9 +20,9 @@ Developing Traefik, our main goal is to make it simple to use, and we're sure yo
|
||||||
|
|
||||||
!!! info
|
!!! 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,
|
If you're a business running critical services behind Traefik,
|
||||||
know that [Containous](https://containo.us), the company that sponsors Traefik's development,
|
know that [Traefik Labs](https://traefik.io), the company that sponsors Traefik's development,
|
||||||
can provide [commercial support](https://info.containo.us/commercial-services)
|
can provide [commercial support](https://info.traefik.io/commercial-services)
|
||||||
and develops an [Enterprise Edition](https://containo.us/traefikee/) of Traefik.
|
and develops an [Enterprise Edition](https://traefik.io/traefik-enterprise/) of Traefik.
|
||||||
|
|
|
@ -104,7 +104,7 @@ Then any router can refer to an instance of the wanted middleware.
|
||||||
|
|
||||||
```yaml tab="K8s IngressRoute"
|
```yaml tab="K8s IngressRoute"
|
||||||
# The definitions below require the definitions for the Middleware and IngressRoute kinds.
|
# 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
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
kind: Middleware
|
kind: Middleware
|
||||||
metadata:
|
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"
|
```yaml tab="K8s IngressRoute"
|
||||||
# The definitions below require the definitions for the TLSOption and IngressRoute kinds.
|
# 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
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
kind: TLSOption
|
kind: TLSOption
|
||||||
metadata:
|
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: `@<provider>`.
|
- Now, configuration elements can be referenced between different providers by using the provider namespace notation: `@<provider>`.
|
||||||
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`.
|
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.
|
- 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).
|
||||||
|
|
|
@ -6,7 +6,7 @@ Overview
|
||||||
Traefik Pilot is a software-as-a-service (SaaS) platform that connects to Traefik to extend its capabilities.
|
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.
|
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.
|
Traefik Pilot can also monitor connected Traefik instances and issue alerts when one is not responding, or when it is subject to security vulnerabilities.
|
||||||
|
|
||||||
|
|
|
@ -163,7 +163,7 @@ You can specify which Docker API Endpoint to use with the directive [`endpoint`]
|
||||||
|
|
||||||
??? info "More Resources and Examples"
|
??? 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)
|
- ["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)
|
- [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/)
|
- [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)
|
- [A thread on Stack Overflow about sharing the `/var/run/docker.sock` file](https://news.ycombinator.com/item?id=17983623)
|
||||||
|
|
|
@ -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.
|
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.
|
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 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).
|
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).
|
||||||
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).
|
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)"
|
```yaml tab="File (YAML)"
|
||||||
providers:
|
providers:
|
||||||
kubernetesCRD:
|
kubernetesCRD:
|
||||||
endpoint = "http://localhost:8080"
|
endpoint: "http://localhost:8080"
|
||||||
# ...
|
# ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ _Optional, Default=empty_
|
||||||
```yaml tab="File (YAML)"
|
```yaml tab="File (YAML)"
|
||||||
providers:
|
providers:
|
||||||
kubernetesCRD:
|
kubernetesCRD:
|
||||||
token = "mytoken"
|
token: "mytoken"
|
||||||
# ...
|
# ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -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.
|
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,
|
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.
|
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.
|
but due to sub-optimal performance was dropped as a feature in 2.0.
|
||||||
|
|
||||||
If you require LetsEncrypt with HA in a kubernetes environment,
|
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,
|
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).
|
LetsEncrypt HA can be achieved by using a Certificate Controller such as [Cert-Manager](https://docs.cert-manager.io/en/latest/index.html).
|
||||||
|
|
|
@ -43,7 +43,7 @@ Below is the list of the currently supported providers in Traefik.
|
||||||
!!! info "More Providers"
|
!!! info "More Providers"
|
||||||
|
|
||||||
The current version of Traefik doesn't support (yet) every provider.
|
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
|
### Configuration reload frequency
|
||||||
|
|
||||||
|
|
|
@ -256,7 +256,7 @@ http:
|
||||||
Middleware14:
|
Middleware14:
|
||||||
plugin:
|
plugin:
|
||||||
PluginConf:
|
PluginConf:
|
||||||
foo = "bar"
|
foo: bar
|
||||||
Middleware15:
|
Middleware15:
|
||||||
rateLimit:
|
rateLimit:
|
||||||
average: 42
|
average: 42
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
site_name: Traefik
|
site_name: Traefik
|
||||||
site_description: Traefik Documentation
|
site_description: Traefik Documentation
|
||||||
site_author: containo.us
|
site_author: traefik.io
|
||||||
site_url: https://docs.traefik.io
|
site_url: https://doc.traefik.io/traefik
|
||||||
dev_addr: 0.0.0.0:8000
|
dev_addr: 0.0.0.0:8000
|
||||||
|
|
||||||
repo_name: 'GitHub'
|
repo_name: 'GitHub'
|
||||||
|
@ -15,8 +15,8 @@ theme:
|
||||||
custom_dir: 'theme'
|
custom_dir: 'theme'
|
||||||
language: en
|
language: en
|
||||||
include_sidebar: true
|
include_sidebar: true
|
||||||
favicon: assets/img/traefik.icon.png
|
favicon: assets/img/traefikproxy-icon-color.png
|
||||||
logo: assets/img/traefik.logo.png
|
logo: assets/img/traefikproxy-vertical-logo-color.svg
|
||||||
feature:
|
feature:
|
||||||
tabs: false
|
tabs: false
|
||||||
palette:
|
palette:
|
||||||
|
|
|
@ -19,9 +19,10 @@ find "${PATH_TO_SITE}" -type f -not -path "/app/site/theme/*" \
|
||||||
htmlproofer \
|
htmlproofer \
|
||||||
--check-html \
|
--check-html \
|
||||||
--check_external_hash \
|
--check_external_hash \
|
||||||
--alt_ignore="/traefik.logo.png/" \
|
--alt_ignore="/traefikproxy-vertical-logo-color.svg/" \
|
||||||
--http_status_ignore="0,500,501,503" \
|
--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
|
'{}' 1>/dev/null
|
||||||
## HTML-proofer options at https://github.com/gjtorikian/html-proofer#configuration
|
## HTML-proofer options at https://github.com/gjtorikian/html-proofer#configuration
|
||||||
|
|
||||||
|
|
20
docs/theme/assets/images/traefik-enterprise-logo.svg
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" viewBox="0 0 48 48">
|
||||||
|
<defs>
|
||||||
|
<filter id="b5x33i44ia">
|
||||||
|
<feColorMatrix in="SourceGraphic" values="0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0"/>
|
||||||
|
</filter>
|
||||||
|
<path id="ydattuutsb" d="M0 0H48V48H0z"/>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g filter="url(#b5x33i44ia)" transform="translate(-237 -343) translate(209 331) translate(28 12)">
|
||||||
|
<mask id="k5cowqeb4c" fill="#fff">
|
||||||
|
<use xlink:href="#ydattuutsb"/>
|
||||||
|
</mask>
|
||||||
|
<path fill="#000" fill-rule="nonzero" d="M24.767 1.998l.07.038L44.09 13.008c1.214.692 1.206 2.433.012 3.121l-.065.036-4.551 2.394c-.293.154-.406.517-.252.81.053.102.135.186.235.242l4.685 2.66c1.2.68 1.214 2.394.051 3.101l-.065.038-4.743 2.636c-.29.16-.394.526-.233.816.056.102.142.185.245.24l4.628 2.433.065.036c1.173.676 1.201 2.368.052 3.083l-.064.038-19.255 10.972-.07.038c-.515.265-1.128.264-1.643 0l-.07-.038L3.908 34.737l-.064-.038c-1.15-.717-1.119-2.412.058-3.086l.066-.035 4.755-2.48c.294-.154.408-.516.254-.81-.054-.103-.136-.189-.238-.246l-4.777-2.681c-1.2-.674-1.226-2.38-.073-3.097l.064-.038 4.649-2.643c.288-.164.389-.53.225-.818-.057-.1-.142-.182-.244-.235l-4.615-2.407c-1.241-.647-1.296-2.391-.124-3.122l.064-.038L23.053 2.037c.53-.303 1.174-.315 1.714-.039zM34.1 30.99l-9.227 5.128c-.522.29-1.153.302-1.683.035l-.072-.039-9.098-5.107c-.353-.198-.783-.205-1.142-.017L9.53 32.737c-.293.153-.407.515-.254.809.053.102.135.187.235.244l13.84 7.899c.369.21.821.21 1.19 0l13.96-7.955c.288-.164.389-.53.225-.818-.057-.1-.14-.18-.242-.234l-3.242-1.705c-.358-.189-.787-.184-1.141.013zM23.408 15.307l-13.983 7.95c-.288.163-.389.53-.225.817.054.095.133.173.228.227l13.991 7.854c.364.204.807.205 1.17.002l14.069-7.818c.29-.161.394-.527.233-.816-.054-.097-.133-.176-.229-.23l-14.068-7.986c-.368-.21-.818-.209-1.186 0zm-.057-9.296l-13.84 7.9c-.288.164-.388.53-.224.818.057.1.141.182.244.235l3.173 1.655c.362.189.794.18 1.148-.02l9.258-5.264c.528-.3 1.169-.313 1.706-.04l.073.04 9.341 5.302c.356.202.79.21 1.153.018l3.102-1.636c.294-.155.406-.518.251-.81-.053-.102-.134-.186-.233-.242L24.54 6.01c-.368-.21-.82-.21-1.189 0z" mask="url(#k5cowqeb4c)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
12
docs/theme/assets/images/traefik-labs.svg
vendored
Normal file
After Width: | Height: | Size: 10 KiB |
20
docs/theme/assets/images/traefik-mesh-logo.svg
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" viewBox="0 0 48 48">
|
||||||
|
<defs>
|
||||||
|
<filter id="5viyazg9za">
|
||||||
|
<feColorMatrix in="SourceGraphic" values="0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0"/>
|
||||||
|
</filter>
|
||||||
|
<path id="4qnhqjqh1b" d="M0 0H48V48H0z"/>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g filter="url(#5viyazg9za)" transform="translate(-237 -247) translate(209 235) translate(28 12)">
|
||||||
|
<mask id="m4407qpcrc" fill="#fff">
|
||||||
|
<use xlink:href="#4qnhqjqh1b"/>
|
||||||
|
</mask>
|
||||||
|
<path fill="#000" fill-rule="nonzero" d="M18.105 10.998l.062.034 5.35 3.015c.365.206.811.206 1.177 0l5.304-2.984c.866-.487 1.964-.18 2.452.686.475.846.194 1.912-.626 2.416l-.06.036-3.063 1.723c-.29.162-.392.528-.229.817.054.096.133.175.228.228l8.268 4.661c.366.206.813.206 1.179 0l5.112-2.881c.866-.488 1.964-.182 2.452.684.476.845.196 1.911-.623 2.416l-.061.036-2.877 1.621c-.288.163-.39.529-.228.817.054.096.133.175.228.228l2.893 1.631c.866.489 1.172 1.586.684 2.452-.476.846-1.534 1.158-2.39.718l-.062-.034-5.128-2.89c-.366-.207-.813-.207-1.179 0l-8.359 4.711c-.288.163-.39.529-.228.818.054.095.133.174.228.228l3.454 1.946c.866.489 1.172 1.586.684 2.452-.476.846-1.534 1.158-2.39.718l-.062-.034-5.689-3.207c-.366-.206-.813-.206-1.179 0l-5.737 3.235c-.866.488-1.964.182-2.452-.684-.477-.845-.196-1.912.623-2.416l.06-.036 3.503-1.974c.289-.163.39-.529.228-.818-.054-.095-.133-.174-.228-.228l-8.285-4.67c-.365-.206-.812-.206-1.178 0l-4.878 2.745c-.867.488-1.964.18-2.452-.686-.476-.846-.194-1.912.625-2.416l.061-.035 2.638-1.485c.289-.162.391-.528.228-.817-.053-.095-.132-.174-.228-.228l-2.633-1.485c-.866-.488-1.172-1.586-.684-2.452.476-.845 1.534-1.157 2.39-.717l.062.033 4.873 2.747c.366.206.813.207 1.178 0l8.367-4.707c.289-.162.391-.528.228-.817-.053-.096-.132-.175-.228-.229L16.4 14.168c-.866-.488-1.172-1.586-.684-2.452.477-.845 1.534-1.157 2.39-.718zm5.41 7.844l-8.367 4.708c-.289.163-.391.529-.229.817.054.096.133.175.228.229l8.28 4.667c.366.207.813.207 1.18 0l8.358-4.712c.288-.162.39-.528.228-.817-.054-.095-.133-.174-.228-.228l-8.273-4.663c-.365-.206-.812-.206-1.178 0z" mask="url(#m4407qpcrc)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
20
docs/theme/assets/images/traefik-pilot-logo.svg
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" viewBox="0 0 48 48">
|
||||||
|
<defs>
|
||||||
|
<filter id="uu6lu311da">
|
||||||
|
<feColorMatrix in="SourceGraphic" values="0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0"/>
|
||||||
|
</filter>
|
||||||
|
<path id="0g1zhwxulb" d="M0 0H48V48H0z"/>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g filter="url(#uu6lu311da)" transform="translate(-237 -439) translate(209 427) translate(28 12)">
|
||||||
|
<mask id="l3ns2tyrwc" fill="#fff">
|
||||||
|
<use xlink:href="#0g1zhwxulb"/>
|
||||||
|
</mask>
|
||||||
|
<path fill="#000" fill-rule="nonzero" d="M6.51 9.361l.071-.002L41.474 9c1.379-.014 2.252 1.458 1.603 2.654l-.036.065-17.815 29.997c-.508.855-1.612 1.136-2.467.629-.834-.496-1.122-1.56-.663-2.405l.035-.062 15.09-25.41c.339-.57.151-1.307-.419-1.645-.189-.112-.405-.17-.625-.168l-29.558.304c-.97.01-1.77-.75-1.817-1.711l-.002-.07c-.01-.971.75-1.77 1.71-1.817zm5.698 9.877l.07-.002 11.599-.167c1.38-.02 2.26 1.453 1.611 2.652l-.036.065-5.97 10.083c-.507.855-1.611 1.138-2.467.631-.835-.494-1.124-1.558-.666-2.404l.035-.062 3.788-6.398c.17-.285.075-.653-.21-.822-.095-.056-.204-.085-.314-.084l-7.318.106c-.97.013-1.772-.743-1.823-1.704l-.003-.07c-.014-.97.743-1.773 1.704-1.824z" mask="url(#l3ns2tyrwc)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
docs/theme/assets/images/traefik-proxy-logo-long.svg
vendored
Normal file
After Width: | Height: | Size: 20 KiB |
20
docs/theme/assets/images/traefik-proxy-logo.svg
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" viewBox="0 0 48 48">
|
||||||
|
<defs>
|
||||||
|
<filter id="zls1yb0wka">
|
||||||
|
<feColorMatrix in="SourceGraphic" values="0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 0 1.000000 0 0 0 1.000000 0"/>
|
||||||
|
</filter>
|
||||||
|
<path id="sllx47ylzb" d="M0 0H48V48H0z"/>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<g filter="url(#zls1yb0wka)" transform="translate(-237 -151) translate(209 139) translate(28 12)">
|
||||||
|
<mask id="v7h6lpax2c" fill="#fff">
|
||||||
|
<use xlink:href="#sllx47ylzb"/>
|
||||||
|
</mask>
|
||||||
|
<path fill="#000" fill-rule="nonzero" d="M24.188 5.25c1.887 0 3.565 1.333 3.565 2.974 0 1.641-1.597 2.974-3.565 2.974-.226 0-.52-.037-.882-.11-.282-.058-.575-.011-.825.13L9.697 18.497c-.285.162-.385.525-.223.81.053.095.131.173.226.226l13.859 7.786c.36.202.798.203 1.159.002l13.934-7.751c.287-.16.39-.522.23-.809-.053-.095-.13-.174-.226-.228l-4.347-2.47c-.36-.204-.801-.207-1.163-.006l-4.59 2.548c-.116.064-.192.18-.206.31l-.002.044c0 1.642-1.598 2.974-3.566 2.974-1.968 0-3.566-1.332-3.566-2.974 0-1.641 1.598-2.974 3.566-2.974.073 0 .157.004.252.012l.15.015.167.02c.254.035.512-.013.736-.138l6.787-3.767c.52-.288 1.148-.298 1.674-.03l.071.039 9.478 5.384c1.189.675 1.202 2.373.05 3.075l-.064.037-6.34 3.526c-.287.16-.39.522-.23.81.055.1.14.183.242.237l6.28 3.305c1.247.657 1.277 2.432.053 3.13L25.016 42.516c-.548.312-1.22.312-1.767 0L4.286 31.683c-1.225-.7-1.191-2.48.06-3.132l6.348-3.315c.29-.152.404-.51.252-.802-.053-.102-.135-.187-.236-.244l-6.425-3.609c-1.188-.667-1.214-2.359-.072-3.07l.064-.037 15.779-8.98c.25-.143.439-.37.533-.64l.02-.064c.555-1.65 1.815-2.541 3.579-2.541zm8.804 21.908L25.2 31.64l-.072.04c-.53.273-1.163.263-1.685-.032l-7.767-4.382c-.35-.198-.775-.204-1.13-.018l-4.477 2.343c-.29.152-.403.51-.252.802.053.101.133.185.232.242l13.68 7.833c.363.208.81.208 1.174 0l13.798-7.888c.284-.163.383-.526.221-.812-.056-.099-.139-.18-.24-.232l-4.548-2.4c-.36-.19-.79-.182-1.142.02z" mask="url(#v7h6lpax2c)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
2
docs/theme/main.html
vendored
|
@ -77,7 +77,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="md-footer-privacy-policy">
|
<div class="md-footer-privacy-policy">
|
||||||
<a href="https://containo.us/legal/privacy-and-cookie-policy/" title="Privacy Policy">Privacy Policy</a>
|
<a href="https://traefik.io/legal/privacy-and-cookie-policy/" title="Privacy Policy">Privacy Policy</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Social links -->
|
<!-- Social links -->
|
||||||
|
|
95
docs/theme/partials/company-header.html
vendored
40
docs/theme/partials/product-switcher.html
vendored
|
@ -19,7 +19,7 @@
|
||||||
<q-btn stretch flat icon="eva-question-mark-circle-outline">
|
<q-btn stretch flat icon="eva-question-mark-circle-outline">
|
||||||
<q-menu anchor="bottom left" auto-close>
|
<q-menu anchor="bottom left" auto-close>
|
||||||
<q-item>
|
<q-item>
|
||||||
<q-btn type="a" :href="`https://docs.traefik.io/${parsedVersion}`" target="_blank" flat color="accent" align="left" icon="eva-book-open-outline" no-caps label="Documentation" class="btn-submenu full-width"/>
|
<q-btn type="a" :href="`https://doc.traefik.io/traefik/${parsedVersion}`" target="_blank" flat color="accent" align="left" icon="eva-book-open-outline" no-caps label="Documentation" class="btn-submenu full-width"/>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-item>
|
<q-item>
|
||||||
|
|