Add AWS ECS provider

* add ecs provider

* add ecs docs

* fix test after rebase

* add provider icon

* add missing addProvider call

* Fix for review

* Fix documentation

* Fix for review

* Fix documentation

* fix ctx usage

* autoDiscoverClusters setDefaults false

* Fix for review

* review: doc.

* Fix for review: add ctx in backoff retry

* review: linter.

Co-authored-by: Michael <michael.matur@gmail.com>
Co-authored-by: romain <romain@containo.us>
Co-authored-by: Fernandez Ludovic <ludovic@containo.us>
This commit is contained in:
Alessandro Chitolina 2020-07-15 16:28:04 +02:00 committed by GitHub
parent 6e4f5821dc
commit 285ded6e49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 4348 additions and 0 deletions

View file

@ -417,6 +417,33 @@ Use the ip address from the bound port, rather than from the inner network. (Def
`--providers.docker.watch`:
Watch Docker Swarm events. (Default: ```true```)
`--providers.ecs.accesskeyid`:
The AWS credentials access key to use for making requests
`--providers.ecs.autodiscoverclusters`:
Auto discover cluster (Default: ```false```)
`--providers.ecs.clusters`:
ECS Clusters name (Default: ```default```)
`--providers.ecs.constraints`:
Constraints is an expression that Traefik matches against the container's labels to determine whether to create any route for that container.
`--providers.ecs.defaultrule`:
Default rule. (Default: ```Host(`{{ normalize .Name }}`)```)
`--providers.ecs.exposedbydefault`:
Expose services by default (Default: ```true```)
`--providers.ecs.refreshseconds`:
Polling interval (in seconds) (Default: ```15```)
`--providers.ecs.region`:
The AWS region to use for requests
`--providers.ecs.secretaccesskey`:
The AWS credentials access key to use for making requests
`--providers.etcd`:
Enable Etcd backend with default settings. (Default: ```false```)

View file

@ -417,6 +417,33 @@ Use the ip address from the bound port, rather than from the inner network. (Def
`TRAEFIK_PROVIDERS_DOCKER_WATCH`:
Watch Docker Swarm events. (Default: ```true```)
`TRAEFIK_PROVIDERS_ECS_ACCESSKEYID`:
The AWS credentials access key to use for making requests
`TRAEFIK_PROVIDERS_ECS_AUTODISCOVERCLUSTERS`:
Auto discover cluster (Default: ```false```)
`TRAEFIK_PROVIDERS_ECS_CLUSTERS`:
ECS Clusters name (Default: ```default```)
`TRAEFIK_PROVIDERS_ECS_CONSTRAINTS`:
Constraints is an expression that Traefik matches against the container's labels to determine whether to create any route for that container.
`TRAEFIK_PROVIDERS_ECS_DEFAULTRULE`:
Default rule. (Default: ```Host(`{{ normalize .Name }}`)```)
`TRAEFIK_PROVIDERS_ECS_EXPOSEDBYDEFAULT`:
Expose services by default (Default: ```true```)
`TRAEFIK_PROVIDERS_ECS_REFRESHSECONDS`:
Polling interval (in seconds) (Default: ```15```)
`TRAEFIK_PROVIDERS_ECS_REGION`:
The AWS region to use for requests
`TRAEFIK_PROVIDERS_ECS_SECRETACCESSKEY`:
The AWS credentials access key to use for making requests
`TRAEFIK_PROVIDERS_ETCD`:
Enable Etcd backend with default settings. (Default: ```false```)

View file

@ -151,6 +151,16 @@
[providers.consulCatalog.endpoint.httpAuth]
username = "foobar"
password = "foobar"
[providers.ecs]
constraints = "foobar"
exposedByDefault = true
refreshSeconds = 42
defaultRule = "foobar"
clusters = ["foobar", "foobar"]
autoDiscoverClusters = true
region = "foobar"
accessKeyID = "foobar"
secretAccessKey = "foobar"
[providers.consul]
rootKey = "foobar"
endpoints = ["foobar", "foobar"]
@ -233,6 +243,7 @@
[ping]
entryPoint = "foobar"
manualRouting = true
terminatingStatusCode = 42
[log]
level = "foobar"

View file

@ -161,6 +161,18 @@ providers:
httpAuth:
username: foobar
password: foobar
ecs:
constraints: foobar
exposedByDefault: true
refreshSeconds: 42
defaultRule: foobar
clusters:
- foobar
- foobar
autoDiscoverClusters: true
region: foobar
accessKeyID: foobar
secretAccessKey: foobar
consul:
rootKey: foobar
endpoints:
@ -250,6 +262,7 @@ metrics:
ping:
entryPoint: foobar
manualRouting: true
terminatingStatusCode: 42
log:
level: foobar
filePath: foobar