CLI to clean up AWS AMIs and ECR images.
Add this line to your application's Gemfile:
gem 'awsclean'
And then execute:
bundle
Or install it yourself as:
gem install awsclean
Locates and deletes stale docker images stored in Amazon ECR.
An ECR image is considered stale when:
- It was created over
--e
days ago (default: 60). - It was untagged.
$ awsclean clean_ecr_images
[clean_ecr_images] Checking region: us-east-2
REGION IN USE? REPOSITORY URI TAGS IMAGE ID CREATED SIZE ELEGIBLE FOR CLEANUP?
us-east-2 false 3333344444.dkr.ecr.us-east-2.amazonaws.com/foobar (!TAG) sha256:464ea4713d51 2017-04-05T21:00:45+00:00 (100 days ago) 184.0 MB true
us-east-2 true 3333344444.dkr.ecr.us-east-2.amazonaws.com/foobar latest sha256:464ea4713d51 2017-04-05T21:00:45+00:00 (100 days ago) 184.0 MB false
us-east-2 false 3333344444.dkr.ecr.us-east-2.amazonaws.com/foobar_v2 (!TAG) sha256:f47d0c6acbe9 2017-06-22T22:55:44+00:00 (21 days ago) 136.0 MB false
us-east-2 false 3333344444.dkr.ecr.us-east-2.amazonaws.com/foobar_v2 latest sha256:58e584fd7654 2017-06-23T16:13:22+00:00 (21 days ago) 15.0 MB false
Locates and deletes stale Amazon Machine Images (AMI).
An AMI is considered stale when:
- It was created over
--e
days ago (default: 60). - It's not being used by any EC2 instance.
$ awsclean clean_amis
The following flags are available to use in both commands:
--c
: delete images marked as eligible for cleanup. (default: false)--e
: images older than--e
days are considered old. (default: 60)--r
: select which AWS regions to perform on. (default: all)--a
: specify AMIs will not be deleted. (default: [])
The --r
flag accepts a space separated list of region names.
$ awsclean clean_amis -r us-east-2 ca-central-1
The --a
flag accepts a space separated list of AMI IDs.
$ awsclean clean_amis -a ami-xxxxxx ami-yyyyyy
After checking out the repo, run bin/setup
to install dependencies.
Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
.
To release a new version, update the version number in
version.rb
, and then run bundle exec rake release
, which will create
a git tag for the version, push git commits and tags, and push the
.gem
file to rubygems.org.
Bug reports and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.