Delete old images tag inside ECR repository
Project description
ECR lifecycle (Alpha)
Delete old images inside ECR repository using python and boto3
Table of Contents generated with DocToc
Requirements
- python3
- pip3
Credentials
Credentials will be taken from your AWS_PROFILE in your terminal when you execute this python script.
$ aws configure
$ export AWS_PROFILE="myprofile" # will be set in the terminal where you'll execute the python script
Installation
This tool is available in pypip package, so you can install it using your command line:
$ pip3 install ecr-lifecycle
Usage
Dry run
$ ecr-lifecycle -a 90 -r eu-west-1 -n repository/test/repo_name -l INFO
Delete images
$ ecr-lifecycle -a 90 -r eu-west-1 -n repository/test/repo_name -l INFO -d
Parameters
- -a: max age of the image(default: 30 days)
- -r: aws region
- -n: ECR repository name
- -l: level info (default: INFO)
- -d: (delete) execute the operation and delete images. Is destructive! Execute the cli first without '-d' in dry_run mode
Example
TO DO
You can store about 10mil images in a single ECR repository. Imagine, you have 2000mil images older than 90 days and you want to delete it. When you execute the program, the client of boto3 only returns a max of 1000 values, so you need to launch the program two times.
client = boto3.client('ecr', region_name=args.aws_region)
images = client.describe_images(
repositoryName=args.repository_name,
maxResults=1000, # here, limit of max results 1000
)
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ecr-lifecycle-0.1.1.tar.gz
(8.8 kB
view hashes)
Built Distribution
Close
Hashes for ecr_lifecycle-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb82cbef473c7ce9e9b0a2d83b492f3d58d9e335184f9e2ab57d6e20bfb84e73 |
|
MD5 | ed4bd1049fab0b8eaa8592f1e19c2d1f |
|
BLAKE2b-256 | d98f8203fc38a49b8cf2c6d0586bd4d87a3abaf887bc28d3c01bbcd49e9e5ac1 |