GoogleCloudPlatform / gcr-cleaner

Delete untagged image refs in Google Container Registry or Artifact Registry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.