Implement for AWS ECS and Docker Compose what SAM is to Serverless for AWS Lambda
Project description
Be for AWS ECS and docker-compose what AWS SAM is to Lambda
Installation
pip install ecs_composex
Usage
usage: ecs-composex [-h] {up,render,create,config,init,version} ... positional arguments: {up,render,create,config,init,version} Command to execute. up Generates & Validates the CFN templates, Creates/Updates stack in CFN render Generates & Validates the CFN templates locally. No upload to S3 create Generates & Validates the CFN templates locally. Uploads files to S3 config Merges docker-compose files to provide with the final compose content version init Initializes your AWS Account with prerequisites settings for ECS version ECS ComposeX Version optional arguments: -h, --help show this help message and exit
CLI for up and render
usage: ecs_composex up [-h] -n NAME -f DOCKERCOMPOSEXFILE [-d OUTPUTDIRECTORY] [--format {json,yaml,text}] [--region REGIONNAME] [--az ZONES] [-b BUCKETNAME] [--use-spot-fleet] optional arguments: -h, --help show this help message and exit -n NAME, --name NAME Name of your stack -f DOCKERCOMPOSEXFILE, --docker-compose-file DOCKERCOMPOSEXFILE Path to the Docker compose file -d OUTPUTDIRECTORY, --output-dir OUTPUTDIRECTORY Output directory to write all the templates to. --format {json,yaml,text} Defines the format you want to use. --region REGIONNAME Specify the region you want to build fordefault use default region from config or environment vars --az ZONES List AZs you want to deploy to specifically within the region -b BUCKETNAME, --bucket-name BUCKETNAME Bucket name to upload the templates to --use-spot-fleet Runs spotfleet for EC2. If used in combination of --use-fargate, it will create an additional SpotFleet
CLI for config
usage: ecs-composex config [-h] -f DOCKERCOMPOSEXFILE [-d OUTPUTDIRECTORY] optional arguments: -h, --help show this help message and exit -f DOCKERCOMPOSEXFILE, --docker-compose-file DOCKERCOMPOSEXFILE Path to the Docker compose file -d OUTPUTDIRECTORY, --output-dir OUTPUTDIRECTORY Output directory to write all the templates to.
AWS Resources support
- AWS ECS: from docker-compose to ECS transparently, using AWS Fargate primarily.
- AWS VPC: create or use existing VPC to deploy your services
- AWS AppMesh: Services mesh for your services.
- AWS SQS: queues for distributed workloads
- AWS RDS: databases integration made easy
- AWS EC2: Deploy your services on EC2 for custom settings. Features SpotFleet by default.
- AWS KMS: Manage CMK for your deployments
- AWS SNS
Documentation
Find all the documentation to get started and all the features references here.
Tip
Nightly documentation following the master branch.
Blog
Follow the news and technical articles on using ECS ComposeX on the Blog
Tip
If you do not need extra AWS resources such as SQS queues to be created as part of these microservices deployments, I would recommend to use AWS ECS CLI which does already a lot of the work for the services. Alternatively, use the AWS CLI v2. It is absolutely smashing-ly awesome and might be just what you need This tool aims to reproduce the original ECS CLI behaviour whilst adding logic for non ECS resources that you want to create in your environment.
Credits
This package would not have been possible without the amazing job done by the AWS CloudFormation team! This package would not have been possible without the amazing community around Troposphere! This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size ecs_composex-0.8.3-py2.py3-none-any.whl (214.2 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size ecs_composex-0.8.3.tar.gz (144.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for ecs_composex-0.8.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04e21c4139dae6b4cfed6b38e96baa7fc6994eaa60bff41913325dd6de836781 |
|
MD5 | 3260a126cf3bac1b4bca4fc9f95a7f23 |
|
BLAKE2-256 | 37c3f008e8467bd473c8ed022bbd0e9c127434672ba91fdac30d4a7986d76f6a |