Bulk Operations

Overview

Bulk operations allow you to delete multiple image tags efficiently based on patterns, age, or retention policies. Bulk Operations Interface ⚠️ WARNING: Expert-Only Activity This is a dangerous operation that cannot be undone. Deleted tags cannot be recovered. The system has no knowledge of which images are in use or deployed.

Pattern-Based Deletion

Delete tags matching wildcard patterns:
# Delete all dev tags
Pattern: dev-*

# Delete all feature branch tags
Pattern: feature-*

# Delete all tags with specific suffix
Pattern: *-snapshot

Age-Based Cleanup

Remove tags older than specified days: Delete tags older than 30 days Delete tags older than 90 days Custom age threshold

Retention Policies

Keep minimum number of recent tags: Keep last 5 tags, delete older ones Keep last 10 tags, delete older ones Custom retention count

Dry Run Mode

Preview deletions before executing: Enable dry run mode Configure deletion criteria Review list of tags to be deleted Execute if satisfied

Safety Features

Mandatory Keep Minimum: Required field when using age-based deletion Dry Run by Default: Preview results before actual deletion Confirmation Checkbox: Must acknowledge danger before running Operation Summary: AWS-style summary showing exactly what will happen Visual Warnings: Red danger buttons and prominent alerts Input Validation: Frontend and backend validation of parameters

Repository Type Keep Minimum Reason

Development 5-10 tags Recent builds for debugging

Staging 10-20 tags Testing and rollback capability

Production 20-50 tags Multiple rollback options

Base Images 50+ or avoid May be used by many other images

When NOT to Use Bulk Operations

Production base images (company-wide base images) Images with unknown usage Repositories you don't fully understand When unsure about deployment dependencies

Limitations (By Design)

No Usage History

System does NOT track which images are in use Cannot detect if image is deployed in production Cannot identify base images used by other images User must know their deployment architecture

Manual Garbage Collection Required

Deleting tags only removes manifest references Actual image layers remain on disk Must run garbage collection manually to free space See "Cleanup Instructions" menu for commands

Example Workflows

Clean Up Development Tags

1. Navigate to repository
2. Click "Bulk Delete"
3. Pattern: dev-*
4. Enable dry run
5. Review tags to delete
6. Execute deletion

Implement Retention Policy

1. Navigate to repository
2. Click "Bulk Delete"
3. Select "Keep last N tags"
4. Set retention count: 10
5. Enable dry run
6. Review tags to delete
7. Execute deletion

Recovery Options

If you accidentally delete important tags: Check CI/CD pipeline: May have build artifacts Rebuild from source: If you have Dockerfile and code Restore from backup: If you backup your registry Pull from other environments: Dev/staging may have copies Prevention is key: Always use dry run, keep higher minimum than needed, and document critical images before cleanup.