diff options
author | Jade Lovelace <lix@jade.fyi> | 2024-06-13 17:04:07 -0700 |
---|---|---|
committer | Jade Lovelace <lix@jade.fyi> | 2024-06-13 17:12:45 -0700 |
commit | 16ea19ced8e19d419de2a5ae7b8dca609d5d951e (patch) | |
tree | 66f7932e721f185ca569e2a80fde7c90918083fd /releng/docker_assemble.py | |
parent | 7be0d237e0e88e65be9015c65e4f0fc67d2d9aad (diff) |
releng: fix upload of multiarch images to forgejo
Forgejo appears to immediately delete registry content that is
overwritten. This means that we are forced to delete our previous
workaround of making a temporary tag and use a new, more absurd
workaround of making an entire temporary image that we basically only
need to create to get its hash.
However, on the plus side, the new workaround doesn't create garbage
tags to begin with, which means that we don't have to deal with GitHub
not implementing the standardized tag delete endpoint and instead
only implementing a proprietary one.
Upstream-Bug: https://github.com/containers/skopeo/issues/2354
Change-Id: I220e7ce9a17fd230c38882f12c009a166dcc9336
Diffstat (limited to 'releng/docker_assemble.py')
-rw-r--r-- | releng/docker_assemble.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/releng/docker_assemble.py b/releng/docker_assemble.py index a03ec2766..d5b47c328 100644 --- a/releng/docker_assemble.py +++ b/releng/docker_assemble.py @@ -49,8 +49,8 @@ if DEBUG_REQUESTS: # fix that. Thus, a little bit of homebrew containers code. # # Essentially what we are doing in here is splatting a bunch of images into the -# registry without tagging them (except as "temp", due to podman issues), then -# simply sending a new composite manifest ourselves. +# registry without tagging them (with a silly workaround to skopeo issues), +# then simply sending a new composite manifest ourselves. DockerArchitecture = Literal['amd64'] | Literal['arm64'] MANIFEST_MIME = 'application/vnd.oci.image.manifest.v1+json' @@ -276,7 +276,7 @@ class AuthState: 'Authorization': 'Basic ' + creds }).json() token = resp['token'] - self.token_cache[service] = token + self.token_cache[authority] = token return token def find_credential_for(self, image_path: str): |