Releases: compose-x/ecs_composex
v0.22.1
What's Changed
- Enable
--disable-rollback
by @JohnPreston in #630 - FireLens to Kinesis DataStream by @JohnPreston in #632
- Improve x-rds/x-docdb secrets management by @JohnPreston in #633
Full Changelog: v0.22.0...v0.22.1
v0.21.0
0.21.0 (2022-06-04)
In this realease, the important addition to the ECS Compose-X features is adding support for
FireLens log driver.
With FireLens, users will be able to leverage the power of fluentbit (fluentd to come) to manipulate
and ship logs in various formats and to various destinations.
Examples will be added to the labs and a new repository
was created specifically to showcase different FireLens configurations and test cases.
New features
Breaking changes
- x-logging.CreateLogGroup deprecated.
Improvements
- 06d295f Fix image property to use (John Preston)
- 7367c25 Refactoring compose-service class and image settings (#621) (John Preston)
Fixes
v0.20.1
v0.20.0
0.20.0 (2022-05-18)
Improving environment variables settings and setup autoscaling on DynamoDB Table and Indexes.
New features
- ebbe1af feature: x-dynamodb.Scaling (#615) (John Preston)
- 063f9ee Support services.environment: x-resource attribute mapping (#609) (John Preston)
Improvement / Maintenance
- 24e9684 Updated dependencies (John Preston)
Fixes
v0.19.1
v0.19.0
0.19.0 (2022-05-09)
New Features
Fixes
v0.18.0
0.18.0 (2022-05-04)
It has been a long time since 0.17 has been released, and the subsequent patch releases have been resilient enough
to guide us to this point.
So May the 4th be with us all on this new release, packed with bug fixes, new features, and more to come!
New features
Some very exciting new features have come into this new version, and although only one new AWS Resource has
made it to the project, the most exciting change is the use of a module manager which if going to dynamically
load the core ECS Compose-X modules as well as extensions that anyone can write on their own, to support
further use-cases.
- c36a853 Adding documentation on creating new modules Further docs corrections (John Preston)
- 91a3962 Adding -p option, equivalent to -n, for project name (John Preston)
- eafdbb4 Adding label on tags parameters (John Preston)
- 47021cd TaskCompute class to manage CPU/RAM settings (John Preston)
- f1bdb5f Added x-kms to x-sqs support (John Preston)
- 8cb0edd x-cloudmap for x-resources (#584) (John Preston)
- b953169 Allows to define ports to allow for ext_sources and aws_sources (#582) (John Preston)
- bfb1a74 Added feature for RuntimePlatform Task definition settings (John Preston)
- 5a300eb Route53 stack created for records (John Preston)
- 9525f05 Added x-kms:: mapping to S3.BucketEncryption (John Preston)
- b1d6de2 Added x-neptune.Lookup (#565) (John Preston)
Breaking changes
This new version comes with a few breaking changes :
- Deprecation of
Use
for resources, such as x-vpc, x-cluster, x-s3 and so on. The Use functionality was too limited. - Deprecation of
x-dns
, replaced withx-route53
andx-cloudmap
- ec24dd1 Remove prefix list given max size is immutable when set (John Preston)
To help with the transition to using the 0.18 version, an upgrade script has been created.
To use it, simply do
.. code-block:: bash
python3 -m venv compose-x
source compose-x/bin/activate
pip install pip poetry -U
git clone https://github.com/compose-x/ecs_composex
cd ecs_composex/; poetry install
./upgrade_scripts/upgrade_to_0.18.py -h
# for example
./upgrade_scripts/upgrade_to_0.18.py -f docker-compose.yaml
New Contributors
Full Changelog: v0.17.4...v0.18.0
v0.17.0
0.17.0 (2021-10-20)
This new release comes with a lot of changes and fixes that aim to both give more CFN native support and equally
allow for future features to be integrated in a better way.
A lot of changes on the modules one want to implement to support new AWS resources is greatly simplified.
Breaking changes
Compute platform options
"""""""""""""""""""""""""""""""""""
In this new version we have deprecated the --spot-fleet (#501) option. Users who want to use EC2 for the deployment
of their services will be in charge of settings it all up on their own to fit their requirements.
This was then done after implementing (#500) which will allow through Lookup to detect the ECS Cluster compute
settings and automatically set the Launch Platform for the services appropriately. Users can, if they have
a cluster with multiple capacity providers override and set what capacity provider to use for the service.
Again, if that is not available in the cluster (using Lookup) then it will either fail or fallback to a working
capacity provider.
IAM stack created at the root
"""""""""""""""""""""""""""""""""""""""
This change should not be incurring any change to existing stacks if the IAM permissions were stricly managed under Compose-X.
A new iam stack is created with all the IAM roles of the services (Task and Execution Role) which is then passed on to the other
nested stacks that will need it.
This change is necessary for upcoming features support and changes.
That change also helps with a simpler way to manage IAM policies for the roles and a more flexible way to set permissions that does
not require to wait for the service nested stack to complete to possibly set IAM permissions or get the roles names/arns.
New features
- 2fcd1ba Added x-alarms and x-elbv2 cross-support Updated x-alarms docs (John Preston)
- 65d4123 Feature x-ecs enable exec (#539) (John Preston)
- 51a4628 Allow to add custom and predefined bucket policies (John Preston)
- 599b5ad Refactor IAM to set roles in their own stack (#532) (John Preston)
- c9564ee Added support for Conditions in Listener target to cover native CFN implementation (John Preston)
- 8bdf95d Allowing for resource to have an ARN extension from policy definition (#535) (John Preston)
- b39859c Added option to store SSM parameter as Base64 to avoid invalid characters (#527) (John Preston)
- 3cc0908 x-elbv2 Target Group Attributes support (#518) (John Preston)
- 41d393f Feature - docker working_dir (#509) (John Preston)
- ee82fef Feature services.x-ecs to enable services level capacity providers (#507) (John Preston)
- 5ec5c1f Option to enforce secure connection to S3 bucket for IAM role (#504) (John Preston)
- f5ca17d Added ecs.ephemeral.storage label to extend Fargate local storage (#503) (John Preston)
- 6fe4880 JSON validation for more x-resources (#502) (John Preston)
- a399344 Deprecating --spot-fleet (#501) (John Preston)
- 0141544 Adds deploy label ecs.compute.platform to override from FARGATE (#500) (John Preston)
Fixes
- 7202741 Fix release 0.16.10 (#530) (John Preston)
- 84c3716 Fix ACM and Rules conditions (#529) (John Preston)
- 8c20f82 Fix SSM ARN and volumes path (#528) (John Preston)
- aac5811 Fix release/0.16.9 (#526) (John Preston)
- 5cd37a5 Fixing IAM issues (#525) (John Preston)
- 455b3d4 Fix release/0.16.8 (#524) (John Preston)
- 84cd54d Fix missing lookup mappings (#523) (John Preston)
- 760e804 Fix release - v0.16.7 (#522) (John Preston)
- c8e8882 Fix for kms key alias in x-s3 Lookup (#521) (John Preston)
- f223bb5 Fix for x-kms Lookup (John Preston)
- 900b03e Fix release 0.16.4 (#517) (John Preston)
- b9c4ac5 Fix settings typo (John Preston)
- 79012d7 [FIX] ecs placements condition (#514) (John Preston)
- 898ec07 Fix release to 0.16.3 (#511) (John Preston)
- 88ce644 Fixes for ECS and Cognito (#510) (John Preston)
- 197bf3b Fixing docker-compose commands for any env (John Preston)
Improvements
- 84f7216 Update deps (John Preston)
- f8bdd6c When services have an expose set of ports, allowing self-ingress (John Preston)
- 403a652 Updated docs (John Preston)
- decd5c2 Flake8'd the code (John Preston)
- 2fcd1ba Added x-alarms and x-elbv2 cross-support Updated x-alarms docs (John Preston)
- 22cbd5a Import ecs_composex_specs schemas in main application (#538) (John Preston)
- ea510b4 Policies Uniqueness (John Preston)
- 6a6409d Working pre-defined bucket policies (John Preston)
- 1820fc3 Ensures the IAM policies are created before the service is (#534) (John Preston)
- 887d31b Reworked docs and added to docs (#519) (John Preston)
- bfed008 Refactor the services input (#516) (John Preston)
- 66e2733 Update issue templates (John Preston)
- dc7b713 Refactor - perform x-resources.Lookup early (#508) (John Preston)
- 8dfa8a3 Adding non-docker command (John Preston)
- 40153f7 Using poetry to manage dependencies (John Preston)
v0.16.0
0.16.0 (2021-08-19)
This release adds features that revolve around the monitoring of applications by supporting
Prometheus and AWS CloudWatch integration integration making it easy for users to collect metrics
for Prometheus enabled applications.
It also improves the docker experience for users that wish to automatically use the docker image digest instead of tags,
and for users of AWS ECR, allows to perform an image scan of the indicated image prior to continue the process.
Fixed docs and trying to steer towards a CLI usage with docker for new starters to avoid python environments problems.
New features
- b81d444 x-alarms schema validation (#494) (John Preston)
- 604dbfe docker images digest substitution (#492) (John Preston)
- a2c740e Battletesting prometheus and EMF processors (#491) (John Preston)
- f19899b Adding docs, tests, and lib dependency to enable prometheus (#488) (John Preston)
- c67d3c9 Adding some prometheus support (#472) (John Preston)
- d92a1ca Adding x-ssm_parameters macro parameters (John Preston)
- e956203 Better ECR display conditions (John Preston)
- ae10da7 Add successful notice output for ECR Scan (John Preston)
- b307f6d Feature - x-ssm (#486) (John Preston)
- de345c1 Feature x-ecr interpolate digest (#482) (John Preston)
- c448650 Adding ECR Scan at execution time (#478) (John Preston)
- cd441d8 Adding x-dashboards feature (#476) (John Preston)
- 6c2e95e Cognito ALB app profile creation (#475) (John Preston)
- 9ae02ff Feature - Lookup codeguru profiler (#468) (John Preston)
- 56156b0 Using codeguru at top level (#462) (John Preston)
- 1e6016a CLI Feature:
plan
(#459) (John Preston)
Improvements
- 381aab9 Adding ECR Scan reporter lib to CLI and macro (John Preston)
- 3650792 Matching PEP0440 RC syntax (John Preston)
- dc903fb Changing docs theme (John Preston)
- 25b3e7b Using poetry env commands to make life easier (John Preston)
- 507b917 Pyproject black settings update (John Preston)
- 024852f Fixes and new features to help with life comfort (John Preston)
- 2d778d2 Updated deps (John Preston)
- fadab75 Updating dependency (John Preston)
- fd99dbb Using more of common compose_x lib (John Preston)
- cef8f1e Removing cognito init override (John Preston)
- 6aa54ea Not using sphinx-material to generate sitemap.xml (John Preston)
- b5e1d63 Using common lib for keyisset and keypresent (John Preston)
- 043d787 use Poetry and pyproject.toml (#483) (John Preston)
- 7aff79e Added x-ecr docs for scans (#479) (John Preston)
- 79c3346 Addind DL stats. (John Preston)
- 280b0f6 Newer docker image source (John Preston)
- dbfd70c Docs improvements (#467) (John Preston)
Fixes
- 923ee23 Fixing docs(#497) (John Preston)
- 2a7cc3e Adding exception for bucket init creation in us-east-1 (#496) (John Preston)
- 8c6a159 Fix/subnets must belong to same vpc (#493) (John Preston)
- d2d9ba4 Fix missing return and outputs for new SSM Parameters (John Preston)
- 42b442f Fix docs buildspec (John Preston)
- 6297604 Fix layer buildspec (John Preston)
- 7c72014 Fixing build for docs and manifest (John Preston)
- 7da9538 Indentation fix (John Preston)
- 2390d23 Fixing loop and scan report return (#480) (John Preston)
- 14de30c Fixing setup.py for extra (John Preston)
- 3b30cf7 Fixing pyproject version (John Preston)
- 3131973 Bug fixes (#473) (John Preston)
- 40d0195 Fixed missing env vars via lookup (#466) (John Preston)
- 6306ed0 Fixing S3 perms bug and adding s3 to JSON specs (#464) (John Preston)
v0.15.0
Version 0.15.0 marks the start of using JSON Schema validation to validate
early the content of the Compose files.
The original compose-spec is updated with the varied x-resources and features,
source is taken from gh:compose-spec/compose-spec.
This will lead into better and easier long term maintenance of the input definition.
Eventually, a lot of the custom settings and classes will use models generated with
Pydantic.
New features
- 92e9d48 Using newer minimum definition (John Preston)
- 6c0688c Use schema validation to validate compose user-input. (#458) (John Preston)
Improvements
- ef01b4a Improving documentation (#457) (John Preston)
- 97c7b65 Adding region and randomness to composite alarm name (#455) (John Preston)
- b9a8399 Workaround limitation of 20 DB Parameters (Jack Saunders)
- 3c57cfe Adding CRUD policy template for s3 objects (John Preston)
- 94d868a Adding
Use
support to x-s3 (#450) (John Preston) - 137a10c Using compose-x render lib to ingest multiple compose files content (#442) (John Preston)
Fixes
- f7b5ccc Fix/alarm name should be consistent over updates (#456) (John Preston)
- 92e0693 CRUD policy patch (John Preston)
- b71f448 Adding forgotten CreateMultipartUpload (John Preston)
- 5493e6e Fixed families dependencies (#446) (John Preston)
- 51eb1cb Code formatting (John Preston)
- 69c5964 Fixing duplicate export names (#445) (John Preston)