You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was testing a multi-architecture image push using buildx against an ECR repository with tag mutability set to IMMUTABLE. This blocks existing tags from being updated to point to new images. It seems as though buildx will push each image and the image index to the same tag, which causes the push to fail when immutability is on. I'm curious if it's possible for buildx to push the image manifests without a tag (using the manifest digest as the reference in the push URL). I believe most registries should support pushes by digest -- it's listed in the distribution spec this way. If not, would it be possible to add a flag to tell buildx optionally to skip tags on the "child" images, and only add a tag to the final image index?
I've added repro steps below. I also work at AWS on ECR, so happy to help answer questions on how tag mutability works if there ends up being any confusion.
Dockerfile:
❯ cat Dockerfile
FROM ubuntu
RUN touch helloworld.txt
Push to repository w/ mutability set to IMMUTABLE. This fails.
@carocad might be better to open a new ticket with defaults about your setup and how to reproduce (but you can add a link to this ticket for reference)
Hi folks!
I was testing a multi-architecture image push using
buildx
against an ECR repository with tag mutability set toIMMUTABLE
. This blocks existing tags from being updated to point to new images. It seems as thoughbuildx
will push each image and the image index to the same tag, which causes the push to fail when immutability is on. I'm curious if it's possible forbuildx
to push the image manifests without a tag (using the manifest digest as the reference in the push URL). I believe most registries should support pushes by digest -- it's listed in the distribution spec this way. If not, would it be possible to add a flag to tellbuildx
optionally to skip tags on the "child" images, and only add a tag to the final image index?I've added repro steps below. I also work at AWS on ECR, so happy to help answer questions on how tag mutability works if there ends up being any confusion.
Dockerfile:
Push to repository w/ mutability set to
IMMUTABLE
. This fails.Set repository to
MUTABLE
.Push to repository w/ mutability set to
MUTABLE
. This push succeeds.Thanks!
The text was updated successfully, but these errors were encountered: