No description
  • Python 88.7%
  • Shell 6.1%
  • Makefile 4.2%
  • Dockerfile 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 38a8e29ca8
All checks were successful
CI / Tests (Python 3.12) (push) Successful in 1m3s
CI / Tests (Python 3.13) (push) Successful in 1m3s
CI / Tests (Python 3.14) (push) Successful in 1m13s
CI / Docs build (push) Successful in 1m23s
Lint / Lint (ruff) (push) Successful in 1m1s
CI / Package build (push) Successful in 1m23s
Lint / pre-commit (push) Successful in 1m19s
Update dependency boto3 to v1.44.3 (#8)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [boto3](https://github.com/boto/boto3) | dependencies | patch | `1.44.2` → `1.44.3` |

---

### Release Notes

<details>
<summary>boto/boto3 (boto3)</summary>

### [`v1.44.3`](https://github.com/boto/boto3/blob/HEAD/CHANGELOG.rst#1443)

[Compare Source](https://github.com/boto/boto3/compare/1.44.2...1.44.3)

\======

- api-change:`appstream`: \[`botocore`] Amazon WorkSpaces Agent Access now supports image builders, so AI agents can install, configure, and test applications before you create an image. New Replay Session delivers a video of screenshots, a transcript, and a report for each agent session, optionally encrypted with your own KMS key.
- api-change:`cloudformation`: \[`botocore`] AWS CloudFormation introduces stack aliases, which let you refer to an existing stack by a new name without deleting and recreating it. Manage aliases with SetAlias and RemoveAlias, and use an alias in place of the stack name in operations such as UpdateStack.
- api-change:`cognito-idp`: \[`botocore`] Adding support for dynamic client registration.
- api-change:`connectcampaignsv2`: \[`botocore`] Adds LastModifiedTime to DescribeCampaign and ListCampaigns responses.
- api-change:`deadline`: \[`botocore`] AWS Deadline Cloud now supports the NVIDIA RTX PRO 4500 GPU accelerator (rtx-pro-4500) for service-managed fleets running Amazon EC2 G7 instances.
- api-change:`devops-agent`: \[`botocore`] AWS DevOps Agent adds bidirectional communication for Microsoft Teams associations. Set msteams.bidirectional with an IAM role so the agent answers mentions in your Teams channels.
- api-change:`docdb`: \[`botocore`] Update the documentation for the --engine-version flag for cluster creation
- api-change:`ec2`: \[`botocore`] Adds support for Networking Flexible Cost Allocation APIs, enabling Network Admin, Architect, and Engineers to break down shared networking costs by the resources that generated the traffic.
- api-change:`glue`: \[`botocore`] Field description update for auto upgrade summaries
- api-change:`iam`: \[`botocore`] Minor documentation updates only
- api-change:`imagebuilder`: \[`botocore`] Add documentation clarification around List API behavior, and add image available waiter
- api-change:`lambda`: \[`botocore`] Adds support for customer-managed runtimes in the CreateFunction and UpdateFunctionConfiguration APIs. Functions can now use a customer-managed runtime and receive its updates automatically, or pin to a specific runtime version using the existing runtime controls.
- api-change:`lambda-core`: \[`botocore`] Initial release of the customer-managed runtime APIs. Runtime publishers can now create, version, and manage custom runtimes, and use aliases to roll out new runtime versions to the functions that use them.
- api-change:`network-firewall`: \[`botocore`] Releasing Firewall Proxy API and deprecating Egress Proxy API.
- api-change:`organizations`: \[`botocore`] Add support for policy operations on the SECURITYHUB CSPM POLICY policy type.
- api-change:`qconnect`: \[`botocore`] Amazon Q in Connect now supports additional message template attributes. You can personalize message templates using case fields, Amazon Connect Customer Profiles calculated attributes, and product recommendations.
- api-change:`rolesanywhere`: \[`botocore`] This release adds resource aliases for IAM Roles Anywhere trust anchors, profiles, and certificate revocation lists (CRLs). Assign an optional, unique alias name to a resource and use its alias ARN wherever an identifier is accepted, including CreateSession.
- api-change:`sagemaker`: \[`botocore`] New feature for Sagemaker Hyperpod Slurm clusters to install Extensions and view cluster operations.
- api-change:`scheduler`: \[`botocore`] Adds EventBridgePutEventsV2Parameters and EventBridgePutRawEventsParameters to Target so schedules can publish to Amazon EventBridge event bus v2 with PutEvents or PutRawEvents.
- api-change:`securityhub`: \[`botocore`] New DISABLED status for Security Hub CSPM Central Configuration.
- api-change:`ssm`: \[`botocore`] Adding Google Cloud Platform (GCP) support to SSM Cloud Connector to enable onboarding of GCP Compute Engine instances to AWS Systems Manager. Customers can now optionally create an SSM Cloud Connector without an AWS Config connector.
- api-change:`vpc-lattice`: \[`botocore`] Amazon VPC Lattice now supports modification of resource configuration DNS resolution on Resource Gateways
- bugfix:Serialization: \[`botocore`] Send `Content-Type: application/cbor` for a Smithy RPC v2 CBOR request when only the response is an event stream. The request used the event stream media type.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC45NS4wIiwidXBkYXRlZEluVmVyIjoiNDQuOTUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #8
Reviewed-by: John M <john@ikigai.free>
2026-11-15 17:00:48 +00:00
.codebuild Better docs (#1) 2026-11-15 16:00:32 +00:00
.forgejo Better docs (#1) 2026-11-15 16:00:32 +00:00
docs Better docs (#1) 2026-11-15 16:00:32 +00:00
ecs_files_composer ci: switch lint to ruff (compose-x-common alignment) and fix CI job failures 2026-09-16 07:05:12 +00:00
examples Adding self signed certificates generation (#9) 2021-08-05 15:33:19 +01:00
scripts ci: Forgejo Actions workflows (nodeless shell CI + cross-job dependency caching + PyPI release) 2026-09-15 21:06:23 +00:00
tests Better docs (#1) 2026-11-15 16:00:32 +00:00
.editorconfig Refactoring 2021-08-16 13:10:24 +01:00
.gitignore Added docs and examples (#2) 2021-07-17 10:58:42 +00:00
.pre-commit-config.yaml Better docs (#1) 2026-11-15 16:00:32 +00:00
AUTHORS.rst Initial commit 2021-07-13 01:11:25 +01:00
CONTRIBUTING.rst Better docs (#1) 2026-11-15 16:00:32 +00:00
docker-compose.override.yaml Allow to ignore stages executions 2022-10-15 13:10:00 +01:00
docker-compose.yaml Feature to get subnet details and zone ID (#22) 2023-08-20 15:53:10 +01:00
Dockerfile Updating dependencies (#38) 2026-02-06 08:03:52 +00:00
ecs-files-input.json Drop pydantic and use dataclasses instead. (#24) 2023-10-19 09:22:19 +01:00
HISTORY.rst Updating Changelog (finally..) 2023-10-29 11:15:22 +00:00
LICENSE Initial commit 2021-07-13 01:11:25 +01:00
Makefile Better docs (#1) 2026-11-15 16:00:32 +00:00
MANIFEST.in Working basic features 2021-07-15 14:44:20 +01:00
poetry.lock Update dependency boto3 to v1.44.3 (#8) 2026-11-15 17:00:48 +00:00
pyproject.toml Better docs (#1) 2026-11-15 16:00:32 +00:00
README.rst Fixing non supported rst for Pypi 2021-07-17 15:38:33 +01:00
renovate.json Configure Renovate (#4) 2026-11-12 17:50:02 +00:00

.. meta::
    :description: ECS Files Composer input config
    :keywords: AWS, AWS ECS, Docker, Compose, docker-compose, AWS S3, AWS SSM, Secrets, Configuration

===================
ECS Files Composer
===================


.. image:: https://img.shields.io/pypi/v/ecs_files_composer.svg
        :target: https://pypi.python.org/pypi/ecs_files_composer


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


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

ECS Files Composer, although can be used in EKS and other Docker context, is a small program that will allow users
to define files they need pulled out of AWS Services, such as AWS S3 or AWS SSM Parameter Store, and load the content
to a given location, adding builtin capabilities to set file ownership, mode, and other handy features.

The configuration of the job to perform can be written in YAML or JSON (see examples), so long as they comply to a given
schema.

Why use it?
============

Having your core application, when reliant on configuration files, can be tricky to start in a way that the configuration
needs to be pulled first and then started. This can add un-necessary complexity and logic to the application.
And some docker images you might pull off the shelves from DockerHub do not necessarily allow for configuration override
from environment variables.

By using a sidecar that handles all of that logic, you delegate all of these activities to it. And with the ability to define
which container to start first with success criteria, you also ensure that your application won't start without the configuration
files it needs.

.. hint::

    This app / docker image can be used in any context, locally, on-premise, with Docker, on AWS ECS / EKS or in other cloud platforms.

How to use it ?
=================

`Full official documentation <https://docs.files-composer.compose-x.io/index.html>`__


Docker
----------------

.. code-block:: bash

    docker run public.ecr.aws/compose-x/ecs-files-composer:${VERSION:-latest} -h
    docker run -v $PWD:/ /var/tmp,:/public.ecr.aws/compose-x/ecs-files-composer:${VERSION:-latest} -f files.yaml

.. attention::

    The default user is root to avoid running into issues when using chmod/chown and other commands.
    Change behaviour at your own risks.


CLI
------------

.. code-block:: bash


    usage: ecs_files_composer [-h] [-f FILE_PATH | -e ENV_VAR | --from-ssm SSM_CONFIG | --from-s3 S3_CONFIG] [--role-arn ROLE_ARN] [_ ...]

    optional arguments:
      -h, --help            show this help message and exit
      -f FILE_PATH, --from-file FILE_PATH
                            Configuration for execution from a file
      -e ENV_VAR, --from-env-var ENV_VAR
                            Configuration for execution is in an environment variable
      --from-ssm SSM_CONFIG
                            Configuration for execution is in an SSM Parameter
      --from-s3 S3_CONFIG   Configuration for execution is in an S3
      --role-arn ROLE_ARN   The Role ARN to use for the configuration initialization