Allow error skipping when deleting manifest
mpaletou opened this issue · comments
TL;DR
Google Artifact registry return GOOGLE_MANIFEST_DANGLING_PARENT_IMAGE: Manifest is still referenced by one or more parent images * failed to delete digest
when performing a cleanup in a multi-arch docker registry.
A quick fix may be to add --skip-errors option as it should not be a blocking issue.
Expected behavior
Manifest delete errors are logged but cleanup operation still running
Observed behavior
Error code 400 returned on HTTP call and cleanup operation is aborted
Debug log output
No response
Additional information
We are using multi-arch images in our organization with manifest-tool.
As an example, it is creating 3 images (if we support amd64 & arm64):
- myregistry/image:tag
- myregistry/image/arm64:tag
- myregistry/image/arm64:tag
If we browse into the registry, 5 references are effectivly created:
- myregistry/image:tag
- myregistry/image:sha1 (no tag)
- myregistry/image:sha2 (no tag)
- myregistry/image/arm64:tag (sha1)
- myregistry/image/amd64:tag (sha2)
We have the exact same problem - multi arch images (built with buildx in our case), that are expected to be untagged but shouldn't be deleted.