Delete old images tag inside ECR repository
ECR lifecycle (Alpha)
Delete old images inside ECR repository using python and boto3
Table of Contents generated with DocToc
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
This tool is available in pypip package, so you can install it using your command line:
$ pip3 install ecr-lifecycle
$ ecr-lifecycle -a 90 -r eu-west-1 -n repository/test/repo_name -l INFO
$ ecr-lifecycle -a 90 -r eu-west-1 -n repository/test/repo_name -l INFO -d
- -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
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 )
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for ecr_lifecycle-0.1.1-py3-none-any.whl