Skip to main content

Delete old images tag inside ECR repository

Project description

ECR lifecycle (Alpha)

Delete old images inside ECR repository using python and boto3

python-logo

Pylint

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

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

Project details


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 details)

Uploaded Source

Built Distribution

ecr_lifecycle-0.1.1-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file ecr-lifecycle-0.1.1.tar.gz.

File metadata

  • Download URL: ecr-lifecycle-0.1.1.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for ecr-lifecycle-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dc7ec3fb9b1d0a93dc64260655e7c8201f8cf54adde37e9cad286ecb95730e36
MD5 b83b78afe18afe2aca1040836cda010e
BLAKE2b-256 24be6f86aba5515d9134a5f07abacd48f2a7b6ca7f30aa2914df90d2377d9248

See more details on using hashes here.

File details

Details for the file ecr_lifecycle-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ecr_lifecycle-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb82cbef473c7ce9e9b0a2d83b492f3d58d9e335184f9e2ab57d6e20bfb84e73
MD5 ed4bd1049fab0b8eaa8592f1e19c2d1f
BLAKE2b-256 d98f8203fc38a49b8cf2c6d0586bd4d87a3abaf887bc28d3c01bbcd49e9e5ac1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page