Skip to content

Commit

Permalink
Improve the Documentation with a Reference Section
Browse files Browse the repository at this point in the history
  • Loading branch information
jbdoumenjou authored and traefiker committed Apr 5, 2019
1 parent 49563e6 commit 4919b63
Show file tree
Hide file tree
Showing 24 changed files with 1,190 additions and 815 deletions.
3 changes: 2 additions & 1 deletion docs/.markdownlint.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
"MD013": false,
"MD026": false,
"MD033": false,
"MD034": false
"MD034": false,
"MD036": false
}
4 changes: 2 additions & 2 deletions docs/content/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ Where Every Technical Word finds its Definition`
- [ ] Routers
- [ ] Middleware
- [ ] Service
- [ ] Static Configuration
- [ ] Dynamic Configuration
- [ ] [Static configuration](getting-started/configuration-overview.md#the-static-configuration)
- [ ] [Dynamic configuration](getting-started/configuration-overview.md#the-dynamic-configuration)
- [ ] ACME
- [ ] TraefikEE
- [ ] Tracing
Expand Down
10 changes: 7 additions & 3 deletions docs/content/https-tls/acme.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,13 @@ You can configure Traefik to use an ACME provider (like Let's Encrypt) for autom
sans = ["mydomain.com"]
```

!!! note "Configuration Reference"

There are many available options for ACME. For a quick glance at what's possible, browse the [configuration reference](../reference/acme.md).
??? note "Configuration Reference"

There are many available options for ACME. For a quick glance at what's possible, browse the configuration reference:

```toml
--8<-- "content/https-tls/ref-acme.toml"
```

## The Different ACME Challenges

Expand Down
150 changes: 150 additions & 0 deletions docs/content/https-tls/ref-acme.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
# Enable ACME (Let's Encrypt): automatic SSL.
[acme]

# Email address used for registration.
#
# Required
#
email = "[email protected]"

# File used for certificates storage.
#
# Optional (Deprecated)
#
#storageFile = "acme.json"

# File or key used for certificates storage.
#
# Required
#
storage = "acme.json"
# or `storage = "traefik/acme/account"` if using KV store.

# Deprecated, replaced by [acme.dnsChallenge].
#
# Optional.
#
# dnsProvider = "digitalocean"

# Deprecated, replaced by [acme.dnsChallenge.delayBeforeCheck].
#
# Optional
# Default: 0
#
# delayDontCheckDNS = 0

# If true, display debug log messages from the acme client library.
#
# Optional
# Default: false
#
# acmeLogging = true

# If true, override certificates in key-value store when using storeconfig.
#
# Optional
# Default: false
#
# overrideCertificates = true

# Deprecated. Enable on demand certificate generation.
#
# Optional
# Default: false
#
# onDemand = true

# Enable certificate generation on frontends host rules.
#
# Optional
# Default: false
#
# onHostRule = true

# CA server to use.
# Uncomment the line to use Let's Encrypt's staging server,
# leave commented to go to prod.
#
# Optional
# Default: "https://acme-v02.api.letsencrypt.org/directory"
#
# caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"

# KeyType to use.
#
# Optional
# Default: "RSA4096"
#
# Available values : "EC256", "EC384", "RSA2048", "RSA4096", "RSA8192"
#
# KeyType = "RSA4096"

# Use a TLS-ALPN-01 ACME challenge.
#
# Optional (but recommended)
#
[acme.tlsChallenge]

# Use a HTTP-01 ACME challenge.
#
# Optional
#
# [acme.httpChallenge]

# EntryPoint to use for the HTTP-01 challenges.
#
# Required
#
# entryPoint = "http"

# Use a DNS-01 ACME challenge rather than HTTP-01 challenge.
# Note: mandatory for wildcard certificate generation.
#
# Optional
#
# [acme.dnsChallenge]

# DNS provider used.
#
# Required
#
# provider = "digitalocean"

# By default, the provider will verify the TXT DNS challenge record before letting ACME verify.
# If delayBeforeCheck is greater than zero, this check is delayed for the configured duration in seconds.
# Useful if internal networks block external DNS queries.
#
# Optional
# Default: 0
#
# delayBeforeCheck = 0

# Use following DNS servers to resolve the FQDN authority.
#
# Optional
# Default: empty
#
# resolvers = ["1.1.1.1:53", "8.8.8.8:53"]

# Disable the DNS propagation checks before notifying ACME that the DNS challenge is ready.
#
# NOT RECOMMENDED:
# Increase the risk of reaching Let's Encrypt's rate limits.
#
# Optional
# Default: false
#
# disablePropagationCheck = true

# Domains list.
# Only domains defined here can generate wildcard certificates.
# The certificates for these domains are negotiated at traefik startup only.
#
# [[acme.domains]]
# main = "local1.com"
# sans = ["test1.local1.com", "test2.local1.com"]
# [[acme.domains]]
# main = "local2.com"
# [[acme.domains]]
# main = "*.local3.com"
# sans = ["local3.com", "test1.test1.local3.com"]
34 changes: 23 additions & 11 deletions docs/content/providers/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ Attach labels to your containers and let Traefik do the rest!
## Provider Configuration Options

!!! tip "Browse the Reference"
If you're in a hurry, maybe you'd rather go through the [Docker Reference](../reference/providers/docker.md).
If you're in a hurry, maybe you'd rather go through the [static](../reference/static-configuration.md) and the [dynamic](../reference/dynamic-configuration/docker.md) configuration references.

### endpoint
### `endpoint`

Traefik requires access to the docker socket to get its dynamic configuration.

Expand Down Expand Up @@ -140,7 +140,9 @@ Traefik requires access to the docker socket to get its dynamic configuration.
endpoint = "unix:///var/run/docker.sock"
```

### usebindportip (_Optional_, _Default=false_)
### `usebindportip`

_Optional, Default=false_

Traefik routes requests to the IP/Port of the matching container.
When setting `usebindportip=true`, you tell Traefik to use the IP/Port attached to the container's _binding_ instead of its inner network IP/Port.
Expand All @@ -163,29 +165,39 @@ If it can't find such a binding, Traefik falls back on the internal network IP o
!!! note
In the above table, ExtIp stands for "external IP found in the binding", IntIp stands for "internal network container's IP", ExtPort stands for "external Port found in the binding", and IntPort stands for "internal network container's port."

### exposedByDefault (_Optional_, _Default=true_)
### `exposedByDefault`

_Optional, Default=true_

Expose containers by default through Traefik.
If set to false, containers that don't have a `traefik.enable=true` label will be ignored from the resulting routing configuration.

### network (_Optional_)
### `network`

_Optional_

Defines a default docker network to use for connections to all containers.

This option can be overridden on a container basis with the `traefik.docker.network` label.

### domain (_Optional_, _Default=docker.localhost_)
### `domain`

_Optional_

This is the default base domain used for the router rules.

This option can be overridden on a container basis with the
`traefik.domain` label.

### swarmMode (_Optional_, _Default=false_)
### `swarmMode`

_Optional, Default=false_

Activates the Swarm Mode.

### swarmModeRefreshSeconds (_Optional_, _Default=15_)
### `swarmModeRefreshSeconds`

_Optional, Default=15_

Defines the polling interval (in seconds) in Swarm Mode.

Expand Down Expand Up @@ -251,17 +263,17 @@ You can declare TCP Routers and/or Services using labels.

### Specific Options

#### traefik.enable
#### `traefik.enable`

You can tell Traefik to consider (or not) the container by setting `traefik.enable` to true or false.

This option overrides the value of `exposedByDefault`.

#### traefik.tags
#### `traefik.tags`

Sets the tags for [constraints filtering](./overview.md#constraints-configuration).

#### traefik.docker.network
#### `traefik.docker.network`

Overrides the default docker network to use for connections to the container.

Expand Down
10 changes: 5 additions & 5 deletions docs/content/providers/file.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ You can write these configuration elements:
## Provider Configuration Options

!!! tip "Browse the Reference"
If you're in a hurry, maybe you'd rather go through the [File Reference](../reference/providers/file.md).

### filename (_Optional_)
If you're in a hurry, maybe you'd rather go through the [static](../reference/static-configuration.md) and the [dynamic](../reference/dynamic-configuration/file.md) configuration references.
### `filename` (_Optional_)

Defines the path of the configuration file.

Expand All @@ -68,7 +68,7 @@ Defines the path of the configuration file.
filename = "rules.toml"
```

### directory (_Optional_)
### `directory` (_Optional_)

Defines the directory that contains the configuration files.

Expand All @@ -78,7 +78,7 @@ Defines the directory that contains the configuration files.
directory = "/path/to/config"
```

### watch (_Optional_)
### `watch` (_Optional_)

Set the `watch` option to `true` to allow Traefik to automatically watch for file changes.
It works with both the `filename` and the `directory` options.
Expand Down
2 changes: 1 addition & 1 deletion docs/content/providers/kubernetes-crd.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ spec:
## Full reference example
[Traefik IngressRoute Reference](../reference/providers/kubernetescrd.md).
If you're in a hurry, maybe you'd rather go through the [static](../reference/static-configuration.md) and the [dynamic](../reference/dynamic-configuration/kubernetes-crd.md) configuration references.
## Further
Expand Down
Loading

0 comments on commit 4919b63

Please sign in to comment.