Skip to main content

Tagbot

Tagbot is a tool for retagging OCI Container Images directly using the registry API, eliminating the need for a full Docker Pull/Push workflow.

Features

  • Add multiple tags to an image without pulling or pushing.
  • Efficient and API-driven.

Usage

Local Usage

To use Tagbot locally, run:

tagbot \
    --username <your-username> \
    --password <your-password> \
    --source <registry>/<image>:<tag> \
    --tags <tag1>,<tag2>

Example:

tagbot \
    --username example \
    --password password \
    --source example.azurecr.io/debian:latest \
    --tags v1.0.0,1.0.0

This command adds the tags v1.0.0 and 1.0.0 to example.azurecr.io/debian:latest. The image can then be pulled using any of the following tags:

  • example.azurecr.io/debian:latest
  • example.azurecr.io/debian:v1.0.0
  • example.azurecr.io/debian:1.0.0

GitHub Actions Usage

name: release

on:
  push:
    tags: ["v[0-9]+.[0-9]+.[0-9]+"]

jobs:
  release:
    uses: cpressland/tagbot/.github/workflows/retag.yaml@master
    with:
      username: example
      source: example.azurecr.io/${{ github.event.repository.name }}:${{ github.ref_name }}
      tags: ${{ matrix.environment }}-v1.0.0,${{ matrix.environment }}
      environment:  ${{ matrix.environment }}
    secrets:
      password: ${{ secrets.ACR_PASSWORD }}
    strategy:
      matrix:
        environment: [staging, production]

FAQ

  • Q: Are registries other than Azure Container Registry supported?
    A: Azure Container Registry is the only officially supported registry. However, other registries, such as Docker Hub, Amazon ECR, and Google Container Registry, are likely to work if they conform to standard OCI APIs.
  • Q: Does Tagbot require admin-level credentials for the registry?
    A: No, it only requires permissions to read and write tags for the specified images.
  • Q: Can I retag multiple images in a single command?
    A: No, Tagbot currently supports retagging one image at a time. Use a script or automation tool to process multiple images.
  • Q: Are there any size limitations for the images being retagged?
    A: No, since Tagbot operates at the registry level, the image size is irrelevant.
  • Q: Is Tagbot secure to use with my credentials?
    A: Tagbot does not store your credentials and only uses them for the duration of the operation. For additional security, use environment variables or secret management tools.
  • Q: Can I remove a tag from an image using Tagbot?
    A: No, Tagbot only supports adding new tags. To remove tags, use your registry's management tools.
  • Q: What happens if the specified tag already exists?
    A: If the tag already exists, Tagbot will reassign it to the source image.
  • Q: Is there a dry-run mode to test without making changes?
    A: Currently, Tagbot does not support a dry-run mode.

Metadata

Release files for container-tagbot 3.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for container-tagbot 3.2.1
File Size Uploaded
container_tagbot-3.2.1.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for container-tagbot 3.2.1
File Interpreter ABI Platform
container_tagbot-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.4 kB

Release files / container_tagbot-3.2.1.tar.gz

Download URL container_tagbot-3.2.1.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fa76a129f5ad281bb281e6b18fef4aef70b5c039daaa9ad9d33abfa601f00f50
BLAKE2b-256 checksum
How to use checksums
bfd5164a77f7275e19d2b8a260770365ad21191bde34b03bbcc0ed4da51b1bd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.13

Release files / container_tagbot-3.2.1-py3-none-any.whl

Download URL container_tagbot-3.2.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dfadc2e2943ec5ae48376ede083e630880f1e82bcc5116d0a85f955c27dee37e
BLAKE2b-256 checksum
How to use checksums
a06525b86aa68334ef102889acb0f3f3c355cebe814b8d6fe8b1551b87e0b8fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.13

Release history Release notifications | RSS feed

This release

3.2.1 This release

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page