aws / aws-cdk-rfcs

RFCs for the AWS CDK
Apache License 2.0
520 stars 81 forks source link

Garbage Collection for Assets #590

Closed mrpackethead closed 5 months ago

mrpackethead commented 5 months ago

This is an exact copy of issue #64 64 which was closed but is a real point of contention

Assets which are uploaded to the CDK's S3 bucket and ECR repository are never deleted. This will incur costs for users in the long term. We should come up with a story on how those should be garbage collected safely.

Initially we should offer cdk gc which will track down unused assets (e.g. by tracing them back from deployed stacks) and offering users to delete them. We can offer an option to automatically run this after every deployment (either in CLI or through CI/CD). Later we can even offer a construct that you deploy to your environment and it can do that for you.

Proposed usage:

cdk gc [ENVIRONMENT...] [--list] [--type=s3|ecr] Examples:

This command will find all orphaned S3 and ECR assets in a specific AWS environment and will delete them:

cdk gc aws://ACCOUNT/REGION This command will garbage collect all assets in all environments that belong to the current CDK app (if cdk.json exists):

cdk gc Just list orphaned assets:

cdk gc --list

Description

Short description of the proposed feature.

Roles

Role User
Proposed by @alias
Author(s) @alias, @alias, @alias
API Bar Raiser @alias
Stakeholders @alias, @alias, @alias

See RFC Process for details

Workflow


Author is responsible to progress the RFC according to this checklist, and apply the relevant labels to this issue so that the RFC table in README gets updated.

evgenyka commented 5 months ago

We'll keep original RFC open (https://github.com/aws/aws-cdk-rfcs/issues/64) and add it to the roadmap. Closing this one as duplicate.