-
Notifications
You must be signed in to change notification settings - Fork 294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-arch images cannot be published to a repository with immutable tags #2299
Comments
@jjbustamante Happy new year. Did you have a chance to look into this? |
Hi @loewenstein-sap, I am working on it, but I still don't have the fix |
@c0d1ngm0nk3y , @loewenstein-sap , @pbusko I've been trying to find a way to fix this without making many changes. If I am not wrong the problem is the following:
I think that process is not wrong, the problem appears when we uses the same image name Proposal what if
Does this solution make sense to you? I think, I implemented it in this way during the PoC but I can't remember why I changed it, maybe because I tested against a mutable registry. image source: go-containerregistry |
Correct. For comparison, if you run pack/pkg/client/package_buildpack.go Line 94 in 2f1af85
|
Thanks @pbusko ! Yeah, when we developed the multi-arch feature on |
Description
When the repository does not allow to overwrite existing tags, it is not possible to publish an image for multiple architectures.
Proposed solution
In case of of a multi-arch image, the actual manifest must not be written to the repository. Only the the layer. The manifest containing all digest will be created later.
Describe alternatives you've considered
The target repository needs to allow overwriting of published tags which might not always be desired / possible.
Additional context
Code in question:
pack/pkg/client/package_buildpack.go
Lines 83 to 99 in c5fadcd
The tag will be created for each architecture, just to be overwritten later with the combined manifest.
The text was updated successfully, but these errors were encountered: