Skip to content
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

docs: Update skopeo delete man page #2497 #2504

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ggjulio
Copy link

@ggjulio ggjulio commented Jan 28, 2025

Copy link
Contributor

@mtrmac mtrmac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR.

I can’t verify the factual accuracy; https://jfrog.com/help/r/jfrog-artifactory-documentation/delete-multi-architecture-docker-tags suggests that there is some support for deleting everything in one operation, and it seems a bit surprising to me that using the Docker API would not trigger the same logic. But I wouldn’t know.

With that disclaimer: I think this caveat makes sense to document, but we need to structure the man page in a way that is reasonably easy to follow, both for users who are need to do something registry-specific and for users who just care about the CLI options.

Maybe, at that point in the man page, introduce a new “registry server-side concerns” section, talking both (first?) about the distribution/distribution server, and about Artifactory.

@@ -15,6 +15,7 @@ The effect of this is registry-specific; many registries don’t support this op

**WARNING**: If _image-name_ contains a tag (but not a digest), in the current version of Skopeo this resolves the tag into a digest, and then deletes the manifest by digest, as described above (possibly deleting all tags pointing to that manifest, not just the provided tag). This behavior may change in the future.

**WARNING**: If _image-name_ is a list manifest (ex: multi-platform images), only the `list.manifest.json` is deleted which may lead to storage issue. Only the registry server is able to find dandling manifests as one may be referenced by many `list.manifest.json`. Some registries like artifactory don't have any garbage collector built in.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t think this needs as much emphasis as the warning above, which is about data loss.

@@ -15,6 +15,7 @@ The effect of this is registry-specific; many registries don’t support this op

**WARNING**: If _image-name_ contains a tag (but not a digest), in the current version of Skopeo this resolves the tag into a digest, and then deletes the manifest by digest, as described above (possibly deleting all tags pointing to that manifest, not just the provided tag). This behavior may change in the future.

**WARNING**: If _image-name_ is a list manifest (ex: multi-platform images), only the `list.manifest.json` is deleted which may lead to storage issue. Only the registry server is able to find dandling manifests as one may be referenced by many `list.manifest.json`. Some registries like artifactory don't have any garbage collector built in.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“storage issue” does not say what the problem is.

@@ -15,6 +15,7 @@ The effect of this is registry-specific; many registries don’t support this op

**WARNING**: If _image-name_ contains a tag (but not a digest), in the current version of Skopeo this resolves the tag into a digest, and then deletes the manifest by digest, as described above (possibly deleting all tags pointing to that manifest, not just the provided tag). This behavior may change in the future.

**WARNING**: If _image-name_ is a list manifest (ex: multi-platform images), only the `list.manifest.json` is deleted which may lead to storage issue. Only the registry server is able to find dandling manifests as one may be referenced by many `list.manifest.json`. Some registries like artifactory don't have any garbage collector built in.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/find dandling manifests/correctly determine which manifests are dangling/ , or better “unreferenced” or “unreachable”

@@ -15,6 +15,7 @@ The effect of this is registry-specific; many registries don’t support this op

**WARNING**: If _image-name_ contains a tag (but not a digest), in the current version of Skopeo this resolves the tag into a digest, and then deletes the manifest by digest, as described above (possibly deleting all tags pointing to that manifest, not just the provided tag). This behavior may change in the future.

**WARNING**: If _image-name_ is a list manifest (ex: multi-platform images), only the `list.manifest.json` is deleted which may lead to storage issue. Only the registry server is able to find dandling manifests as one may be referenced by many `list.manifest.json`. Some registries like artifactory don't have any garbage collector built in.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

list.manifest.json is not a widely-used terminology, to my knowledge. “A multi-platform manifest list” maybe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants