ecrlifecycle 0.1.1
ECR lifecycle (Alpha)
Delete old images inside ECR repository using python and boto3
Table of Contents generated with DocToc
ECR lifecycle (Alpha)
Requirements
Credentials
Installation
Usage
Parameters
Example
TO DO
License
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
LICENSE
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.