ecs-composex


Nameecs-composex JSON
Version 0.23.25 PyPI version JSON
download
home_page
SummaryManage, Configure and Deploy your services and AWS services and applications from your docker-compose definition
upload_time2023-09-27 03:44:29
maintainerJohn Preston
docs_urlNone
authorJohn Preston
requires_python>=3.8,<4.0
licenseMPL-2.0
keywords compose-x aws cloudformation docker compose
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. meta::
    :description: ECS Compose-X
    :keywords: AWS, ECS, Fargate, Docker, Containers, Compose, docker-compose

============
ECS ComposeX
============

|PYPI_VERSION| |PYPI_LICENSE| |PY_DLS|

|CODE_STYLE| |ISORT| |TDD| |BDD|

|QUALITY|

|BUILD|

-----------------------------------------------
The no-code CDK for docker-compose & AWS ECS
-----------------------------------------------

Deploy your services to AWS ECS from your docker-compose files in 3 steps

* Step 1. Install ECS Compose-x
* Step 2. Use your existing docker-compose files. Optionally, add Compose-X extensions.
* Step 3. Deploy to AWS via CloudFormation.


What does it do?
========================

* Automatically deploy applications to AWS using existing docker-compose files
    * Deploys multiple applications to AWS in a single command
    * Creates AWS resources such as EC2 Instances, ECS Clusters and Containers
    * Automatically configures IAM roles and Networking for secure and reliable access

* Expand the definitions with AWS CloudFormation resources

* Allows to use existing resources in your AWS Account
* Can be extended with custom modules/hooks to customize the deployment process
* Automatically rolls back the application in case of errors, to previous version or to a stable state


Useful Links
===============

* `Documentation`_
* `Labs <https://labs.compose-x.io/>`_
* `Feature requests`_
* `Issues`_
* `Compatibility Matrix`_


Installation
=====================

.. code-block:: bash

    # Inside a python virtual environment
    python3 -m venv venv
    source venv/bin/activate
    pip install pip -U
    pip install ecs-composex

    # For your user only
    pip install ecs-composex --user

Usage
======

.. code-block:: bash

    # Get all the options
    ecs-compose-x -h

    # Simple example using docker-compose file and an extension with your AWS Settings
    ecs-compose-x render -d templates -n my-new-stack -f docker-compose.yaml -f aws-settings.yaml


.. _`Mark Peek`: https://github.com/markpeek
.. _`AWS ECS CLI`: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html
.. _Troposphere: https://github.com/cloudtools/troposphere
.. _Blog: https://blog.compose-x.io/
.. _Docker Compose: https://docs.docker.com/compose/
.. _ECS ComposeX: https://docs.compose-x.io
.. _YAML Specifications: https://yaml.org/spec/
.. _Extensions fields:  https://docs.docker.com/compose/compose-file/#extension-fields
.. _ECS ComposeX Project: https://github.com/orgs/lambda-my-aws/projects/3
.. _CICD Pipeline for multiple services on AWS ECS with ECS ComposeX: https://blog.compose-x.io/posts/cicd-pipeline-for-multiple-services-on-aws-ecs-with-ecs-composex/
.. _Feature requests: https://github.com/compose-x/ecs_composex/issues/new?assignees=JohnPreston&labels=enhancement&template=feature_request.md&title=%5BFR%5D+%3Caws+service%7Cdocker+compose%3E+
.. _Issues: https://github.com/compose-x/ecs_composex/issues/new?assignees=JohnPreston&labels=bug&template=bug_report.md&title=%5BBUG%5D


.. _AWS ECS:            https://nightly.docs.compose-x.io/syntax/composex/ecs.html
.. _AWS VPC:            https://nightly.docs.compose-x.io/syntax/composex/vpc.html
.. _AWS RDS:            https://nightly.docs.compose-x.io/syntax/composex/rds.html
.. _AWS DynamoDB:       https://nightly.docs.compose-x.io/syntax/composex/dynamodb.html
.. _AWS DocumentDB:     https://nightly.docs.compose-x.io/syntax/composex/docdb.html
.. _AWS ACM:            https://nightly.docs.compose-x.io/syntax/composex/acm.html
.. _AWS ELBv2:          https://nightly.docs.compose-x.io/syntax/composex/elbv2.html
.. _AWS S3:             https://nightly.docs.compose-x.io/syntax/composex/s3.html
.. _AWS IAM:            https://nightly.docs.compose-x.io/syntax/composex/ecs.details/iam.html
.. _AWS Kinesis:        https://nightly.docs.compose-x.io/syntax/composex/kinesis.html
.. _AWS SQS:            https://nightly.docs.compose-x.io/syntax/composex/sqs.html
.. _AWS SNS:            https://nightly.docs.compose-x.io/syntax/composex/sns.html
.. _AWS KMS:            https://nightly.docs.compose-x.io/syntax/composex/kms.html
.. _AWS ElastiCache:    https://nightly.docs.compose-x.io/syntax/composex/elasticache.html
.. _AWS EC2:            https://nightly.docs.compose-x.io/features.html#ec2-resources-for-ecs-cluster
.. _AWS AppMesh:        https://nightly.docs.compose-x.io/readme/appmesh.html
.. _AWS CloudWatch:     https://nightly.docs.compose-x.io/syntax/compose_x/alarms.html
.. _Lookup:             https://nightly.docs.compose-x.io/syntax/compose_x/common.html#lookup
.. _the compatibilty matrix: https://nightly.docs.compose-x.io/compatibility/docker_compose.html
.. _Compatibility Matrix: https://nightly.docs.compose-x.io/compatibility/docker_compose.html
.. _Find out how to use ECS Compose-X in AWS here: https://blog.compose-x.io/posts/use-your-docker-compose-files-as-a-cloudformation-template/index.html
.. _Documentation: https://docs.compose-x.io

.. |BUILD| image:: https://codebuild.eu-west-1.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiWjIrbSsvdC9jZzVDZ3N5dVNiMlJCOUZ4M0FQNFZQeXRtVmtQbWIybUZ1ZmV4NVJEdG9yZURXMk5SVVFYUjEwYXpxUWV1Y0ZaOEcwWS80M0pBSkVYQjg0PSIsIml2UGFyYW1ldGVyU3BlYyI6Ik1rT0NaR05yZHpTMklCT0MiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=main

.. |PYPI_VERSION| image:: https://img.shields.io/pypi/v/ecs_composex.svg
        :target: https://pypi.python.org/pypi/ecs_composex

.. |PYPI_DL| image:: https://img.shields.io/pypi/dm/ecs_composex
    :alt: PyPI - Downloads
    :target: https://pypi.python.org/pypi/ecs_composex

.. |PYPI_LICENSE| image:: https://img.shields.io/pypi/l/ecs_composex
    :alt: PyPI - License
    :target: https://github.com/compose-x/ecs_composex/blob/master/LICENSE

.. |PYPI_PYVERS| image:: https://img.shields.io/pypi/pyversions/ecs_composex
    :alt: PyPI - Python Version
    :target: https://pypi.python.org/pypi/ecs_composex

.. |PYPI_WHEEL| image:: https://img.shields.io/pypi/wheel/ecs_composex
    :alt: PyPI - Wheel
    :target: https://pypi.python.org/pypi/ecs_composex

.. |CODE_STYLE| image:: https://img.shields.io/badge/codestyle-black-black
    :alt: CodeStyle
    :target: https://pypi.org/project/black/

.. |TDD| image:: https://img.shields.io/badge/tdd-pytest-black
    :alt: TDD with pytest
    :target: https://docs.pytest.org/en/latest/contents.html

.. |BDD| image:: https://img.shields.io/badge/bdd-behave-black
    :alt: BDD with Behave
    :target: https://behave.readthedocs.io/en/latest/

.. |QUALITY| image:: https://sonarcloud.io/api/project_badges/measure?project=compose-x_ecs_composex&metric=alert_status
    :alt: Code scan with SonarCloud
    :target: https://sonarcloud.io/dashboard?id=compose-x_ecs_composex

.. |PY_DLS| image:: https://img.shields.io/pypi/dm/ecs-composex
    :target: https://pypi.org/project/ecs-composex/

.. |ISORT| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
    :target: https://pycqa.github.io/isort/

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "ecs-composex",
    "maintainer": "John Preston",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "john@compose-x.io",
    "keywords": "compose-x,aws,cloudformation,docker,compose",
    "author": "John Preston",
    "author_email": "john@compose-x.io",
    "download_url": "https://files.pythonhosted.org/packages/08/76/fa11b0d5dee521c906cf414300dce01da490e61ae693b39bdfe922248a3a/ecs_composex-0.23.25.tar.gz",
    "platform": null,
    "description": ".. meta::\n    :description: ECS Compose-X\n    :keywords: AWS, ECS, Fargate, Docker, Containers, Compose, docker-compose\n\n============\nECS ComposeX\n============\n\n|PYPI_VERSION| |PYPI_LICENSE| |PY_DLS|\n\n|CODE_STYLE| |ISORT| |TDD| |BDD|\n\n|QUALITY|\n\n|BUILD|\n\n-----------------------------------------------\nThe no-code CDK for docker-compose & AWS ECS\n-----------------------------------------------\n\nDeploy your services to AWS ECS from your docker-compose files in 3 steps\n\n* Step 1. Install ECS Compose-x\n* Step 2. Use your existing docker-compose files. Optionally, add Compose-X extensions.\n* Step 3. Deploy to AWS via CloudFormation.\n\n\nWhat does it do?\n========================\n\n* Automatically deploy applications to AWS using existing docker-compose files\n    * Deploys multiple applications to AWS in a single command\n    * Creates AWS resources such as EC2 Instances, ECS Clusters and Containers\n    * Automatically configures IAM roles and Networking for secure and reliable access\n\n* Expand the definitions with AWS CloudFormation resources\n\n* Allows to use existing resources in your AWS Account\n* Can be extended with custom modules/hooks to customize the deployment process\n* Automatically rolls back the application in case of errors, to previous version or to a stable state\n\n\nUseful Links\n===============\n\n* `Documentation`_\n* `Labs <https://labs.compose-x.io/>`_\n* `Feature requests`_\n* `Issues`_\n* `Compatibility Matrix`_\n\n\nInstallation\n=====================\n\n.. code-block:: bash\n\n    # Inside a python virtual environment\n    python3 -m venv venv\n    source venv/bin/activate\n    pip install pip -U\n    pip install ecs-composex\n\n    # For your user only\n    pip install ecs-composex --user\n\nUsage\n======\n\n.. code-block:: bash\n\n    # Get all the options\n    ecs-compose-x -h\n\n    # Simple example using docker-compose file and an extension with your AWS Settings\n    ecs-compose-x render -d templates -n my-new-stack -f docker-compose.yaml -f aws-settings.yaml\n\n\n.. _`Mark Peek`: https://github.com/markpeek\n.. _`AWS ECS CLI`: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html\n.. _Troposphere: https://github.com/cloudtools/troposphere\n.. _Blog: https://blog.compose-x.io/\n.. _Docker Compose: https://docs.docker.com/compose/\n.. _ECS ComposeX: https://docs.compose-x.io\n.. _YAML Specifications: https://yaml.org/spec/\n.. _Extensions fields:  https://docs.docker.com/compose/compose-file/#extension-fields\n.. _ECS ComposeX Project: https://github.com/orgs/lambda-my-aws/projects/3\n.. _CICD Pipeline for multiple services on AWS ECS with ECS ComposeX: https://blog.compose-x.io/posts/cicd-pipeline-for-multiple-services-on-aws-ecs-with-ecs-composex/\n.. _Feature requests: https://github.com/compose-x/ecs_composex/issues/new?assignees=JohnPreston&labels=enhancement&template=feature_request.md&title=%5BFR%5D+%3Caws+service%7Cdocker+compose%3E+\n.. _Issues: https://github.com/compose-x/ecs_composex/issues/new?assignees=JohnPreston&labels=bug&template=bug_report.md&title=%5BBUG%5D\n\n\n.. _AWS ECS:            https://nightly.docs.compose-x.io/syntax/composex/ecs.html\n.. _AWS VPC:            https://nightly.docs.compose-x.io/syntax/composex/vpc.html\n.. _AWS RDS:            https://nightly.docs.compose-x.io/syntax/composex/rds.html\n.. _AWS DynamoDB:       https://nightly.docs.compose-x.io/syntax/composex/dynamodb.html\n.. _AWS DocumentDB:     https://nightly.docs.compose-x.io/syntax/composex/docdb.html\n.. _AWS ACM:            https://nightly.docs.compose-x.io/syntax/composex/acm.html\n.. _AWS ELBv2:          https://nightly.docs.compose-x.io/syntax/composex/elbv2.html\n.. _AWS S3:             https://nightly.docs.compose-x.io/syntax/composex/s3.html\n.. _AWS IAM:            https://nightly.docs.compose-x.io/syntax/composex/ecs.details/iam.html\n.. _AWS Kinesis:        https://nightly.docs.compose-x.io/syntax/composex/kinesis.html\n.. _AWS SQS:            https://nightly.docs.compose-x.io/syntax/composex/sqs.html\n.. _AWS SNS:            https://nightly.docs.compose-x.io/syntax/composex/sns.html\n.. _AWS KMS:            https://nightly.docs.compose-x.io/syntax/composex/kms.html\n.. _AWS ElastiCache:    https://nightly.docs.compose-x.io/syntax/composex/elasticache.html\n.. _AWS EC2:            https://nightly.docs.compose-x.io/features.html#ec2-resources-for-ecs-cluster\n.. _AWS AppMesh:        https://nightly.docs.compose-x.io/readme/appmesh.html\n.. _AWS CloudWatch:     https://nightly.docs.compose-x.io/syntax/compose_x/alarms.html\n.. _Lookup:             https://nightly.docs.compose-x.io/syntax/compose_x/common.html#lookup\n.. _the compatibilty matrix: https://nightly.docs.compose-x.io/compatibility/docker_compose.html\n.. _Compatibility Matrix: https://nightly.docs.compose-x.io/compatibility/docker_compose.html\n.. _Find out how to use ECS Compose-X in AWS here: https://blog.compose-x.io/posts/use-your-docker-compose-files-as-a-cloudformation-template/index.html\n.. _Documentation: https://docs.compose-x.io\n\n.. |BUILD| image:: https://codebuild.eu-west-1.amazonaws.com/badges?uuid=eyJlbmNyeXB0ZWREYXRhIjoiWjIrbSsvdC9jZzVDZ3N5dVNiMlJCOUZ4M0FQNFZQeXRtVmtQbWIybUZ1ZmV4NVJEdG9yZURXMk5SVVFYUjEwYXpxUWV1Y0ZaOEcwWS80M0pBSkVYQjg0PSIsIml2UGFyYW1ldGVyU3BlYyI6Ik1rT0NaR05yZHpTMklCT0MiLCJtYXRlcmlhbFNldFNlcmlhbCI6MX0%3D&branch=main\n\n.. |PYPI_VERSION| image:: https://img.shields.io/pypi/v/ecs_composex.svg\n        :target: https://pypi.python.org/pypi/ecs_composex\n\n.. |PYPI_DL| image:: https://img.shields.io/pypi/dm/ecs_composex\n    :alt: PyPI - Downloads\n    :target: https://pypi.python.org/pypi/ecs_composex\n\n.. |PYPI_LICENSE| image:: https://img.shields.io/pypi/l/ecs_composex\n    :alt: PyPI - License\n    :target: https://github.com/compose-x/ecs_composex/blob/master/LICENSE\n\n.. |PYPI_PYVERS| image:: https://img.shields.io/pypi/pyversions/ecs_composex\n    :alt: PyPI - Python Version\n    :target: https://pypi.python.org/pypi/ecs_composex\n\n.. |PYPI_WHEEL| image:: https://img.shields.io/pypi/wheel/ecs_composex\n    :alt: PyPI - Wheel\n    :target: https://pypi.python.org/pypi/ecs_composex\n\n.. |CODE_STYLE| image:: https://img.shields.io/badge/codestyle-black-black\n    :alt: CodeStyle\n    :target: https://pypi.org/project/black/\n\n.. |TDD| image:: https://img.shields.io/badge/tdd-pytest-black\n    :alt: TDD with pytest\n    :target: https://docs.pytest.org/en/latest/contents.html\n\n.. |BDD| image:: https://img.shields.io/badge/bdd-behave-black\n    :alt: BDD with Behave\n    :target: https://behave.readthedocs.io/en/latest/\n\n.. |QUALITY| image:: https://sonarcloud.io/api/project_badges/measure?project=compose-x_ecs_composex&metric=alert_status\n    :alt: Code scan with SonarCloud\n    :target: https://sonarcloud.io/dashboard?id=compose-x_ecs_composex\n\n.. |PY_DLS| image:: https://img.shields.io/pypi/dm/ecs-composex\n    :target: https://pypi.org/project/ecs-composex/\n\n.. |ISORT| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336\n    :target: https://pycqa.github.io/isort/\n",
    "bugtrack_url": null,
    "license": "MPL-2.0",
    "summary": "Manage, Configure and Deploy your services and AWS services and applications from your docker-compose definition",
    "version": "0.23.25",
    "project_urls": {
        "Blog": "https://blog.compose-x.io/",
        "Bug Tracker": "https://github.com/compose-x/ecs_composex/issues",
        "Documentation": "https://docs.compose-x.io/",
        "Labs": "https://labs.compose-x.io/"
    },
    "split_keywords": [
        "compose-x",
        "aws",
        "cloudformation",
        "docker",
        "compose"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7d848fe4fcca9d31172ff1afd50b87e7cf21c6f91b516e0b42b8c53b9d64e8d",
                "md5": "3ceaa17887825021148e52a1be158f64",
                "sha256": "b741a6f76c4efffb9dd91815b44c62624423f223cc11e23f17724c4a9cb10f3f"
            },
            "downloads": -1,
            "filename": "ecs_composex-0.23.25-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3ceaa17887825021148e52a1be158f64",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 506362,
            "upload_time": "2023-09-27T03:44:26",
            "upload_time_iso_8601": "2023-09-27T03:44:26.980983Z",
            "url": "https://files.pythonhosted.org/packages/d7/d8/48fe4fcca9d31172ff1afd50b87e7cf21c6f91b516e0b42b8c53b9d64e8d/ecs_composex-0.23.25-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0876fa11b0d5dee521c906cf414300dce01da490e61ae693b39bdfe922248a3a",
                "md5": "e6d4375c28d3530825789b685bc4db07",
                "sha256": "09dbdd1bc09d1b5d77eb2b231968af8d3bcc8944261439e73817b51328619830"
            },
            "downloads": -1,
            "filename": "ecs_composex-0.23.25.tar.gz",
            "has_sig": false,
            "md5_digest": "e6d4375c28d3530825789b685bc4db07",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 340011,
            "upload_time": "2023-09-27T03:44:29",
            "upload_time_iso_8601": "2023-09-27T03:44:29.908094Z",
            "url": "https://files.pythonhosted.org/packages/08/76/fa11b0d5dee521c906cf414300dce01da490e61ae693b39bdfe922248a3a/ecs_composex-0.23.25.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-27 03:44:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "compose-x",
    "github_project": "ecs_composex",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "ecs-composex"
}
        
Elapsed time: 0.11679s