mirror of https://github.com/docker/compose.git
f95bd4fdbf
Signed-off-by: aiordache <anca.iordache@docker.com> Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com> |
||
---|---|---|
.. | ||
cmd | ||
pkg | ||
tests | ||
LICENSE | ||
Makefile | ||
README.md | ||
go.mod | ||
go.sum | ||
golangci.yaml |
README.md
Docker CLI plugin for Amazon ECS
Architecture
ECS plugin is a Docker CLI plugin
root command ecs
require aws profile to get API credentials from ~/.aws/credentials
as well as AWS region - those will later be stored in a docker context
A compose.yaml
is parsed and converted into a CloudFormation
template, which will create all resources in dependent order and cleanup on
down
command or deployment failure.
+--------------------------------------+
| compose.yaml file |
+--------------------------------------+
- Load
+--------------------------------------+
| compose Model |
+--------------------------------------+
- Validate
+--------------------------------------+
| compose Model suitable for ECS |
+--------------------------------------+
- Convert
+--------------------------------------+
| CloudFormation Template |
+--------------------------------------+
- Apply
+--------------+ +----------------+
| AWS API | or | stack file |
+--------------+ +----------------+
- Load phase relies on compose-go. Any generic code we write for this purpose should be proposed upstream.
- Validate phase is responsible to inject sane ECS defaults into the compose-go model, and validate the
compose.yaml
file do not include unsupported features. - Convert produces a CloudFormation template to define all resources required to implement the application model on AWS.
- Apply phase do apply the CloudFormation template, either by exporting to a stack file or to deploy on AWS.