This repository vendors container images to GitHub Container Registry (GHCR) with full multi-arch support.
- Multi-arch support: Uses
skopeoto preserve all platform architectures (amd64, arm64, etc.) - Manifest list preservation: Maintains original multi-platform manifest lists
- Scalable: Efficient direct registry-to-registry transfers without local storage
- Flexible tag filtering: Uses regex patterns to select specific image tags
The vendoring process uses skopeo copy --all to copy images directly from source registries to GHCR while preserving all architectures and manifest lists. This is more efficient and reliable than traditional docker pull/tag/push workflows.
Images are configured in vendor.json:
{
"docker.io/nginx": "stable-alpine[34]\\.[0-9]+-slim",
"docker.io/postgres": "^1[4567]$"
}Each entry maps a source image to a regex pattern for matching tags.
./vendor.sh vendor.json ghcr.io your-org/repo-nameThe workflow automatically runs when:
vendor.jsonis modified and pushed- Manually triggered via workflow_dispatch
- Edit
vendor.jsonand add your image with a tag regex pattern - Commit and push the changes
- The workflow will automatically vendor the matching images
skopeo(installed automatically in CI)jq(for JSON parsing)- Registry authentication (handled via
skopeo login)