Skip to main content

Files and configuration handler to inject configuration files into volumes for ECS containers

Project description

https://img.shields.io/pypi/v/ecs_files_composer.svg 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.

How to use it ?

Full official documentation

Docker

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

CLI

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecs_files_composer-2.1.5.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

ecs_files_composer-2.1.5-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file ecs_files_composer-2.1.5.tar.gz.

File metadata

  • Download URL: ecs_files_composer-2.1.5.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.11-200.fc39.x86_64

File hashes

Hashes for ecs_files_composer-2.1.5.tar.gz
Algorithm Hash digest
SHA256 b20e20f7d64b8c3f25ceb741d47074d07e81b877c966b437b569b0ec75032a5b
MD5 e902f1996e80ffd274b5dbd893cf8769
BLAKE2b-256 858173d5f600db24d411d9b3d30099190e9e479323bbcb8a506b885488759c25

See more details on using hashes here.

File details

Details for the file ecs_files_composer-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: ecs_files_composer-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.11-200.fc39.x86_64

File hashes

Hashes for ecs_files_composer-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a534bd07c306426ff2d68c8e65aa8bd91fde6f41aa938f4e33503bf8b9f14c7
MD5 d10d1c5064bde1450a0dd3ac9e469c34
BLAKE2b-256 80a5c5650b086e7b91159445c03fc18053cdd75759a42c13b512dea88bd0c7ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page