-
Notifications
You must be signed in to change notification settings - Fork 209
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
How are registries expected to behave when a subject is deleted? #378
Comments
I'm not a maintainer, but as an interested party, my understanding is that the link between a manifest and the blobs it contains is a "hard" link and the link from things that refer to a manifest is "soft" -- the former is something I as the manifest author control, the latter might have been created by another party who will be surprised if it goes away (even if the thing it points to does). As a concrete user example, there are some regulated industries I've worked with where the regulators themselves would be very interested in having the ability to keep a copy of all the SBOMs of the images, but don't want to store the images themselves for various reasons (storage, IP, etc). |
Like what Tianon said. My feeling is that this is a policy for the registry. Allow the user to configure. I might imagine that some regulation may want signatures/attestations on an object have to stick around for audit sake, even if the object is now on a denylist or deleted due to security or whatever. If they have to pay for the storage, then be up front. They may prefer the option to delete-when-dangling. |
How would the advice look if you wanted to suggest to a registry developer that they MAY delete untagged images but SHOULD keep untagged artifacts, when that artifact is an Image Index?
It's not pretty. I can implement it.
Edit: Actually the references tag schema would totally cause dangling artifacts in OCI 1.0 registries to be retained forever. For the best backwards compatibility we really should recommend OCI 1.1 registries not delete manifests with subjects when deleting untagged manifests. |
put another way.. Should client users push artifacts before or after pushing the container images said artifacts refer to? If we support both there are timing windows associative with the OP question for garbage collection.. and again that would be a registry decision point. I can see pros/cons either way (strict/loose or strict/loose with a time window), and I can see registries choosing one or the other by customer type and use desired use cases. Maybe someone want's to keep an artifact around for a currently deleted image, where the artifact certifies a prior version of the image still in use on a cloud account in some remote location :-) |
At some point in time.. we are going to need to cover gc policies, IMO. |
I see:
...but I don't see any guidance for registries who support the referrers API.
Should registries garbage collect all manifests that point to the deleted subject or leave them?
Are we leaving this up to registry providers discretion?
I believe the justification for not allowing an index to have a
subject
was due to garbage collection implementations, so it feels incomplete not to have a recommendation for registries. Given that this is a new kind of relationship between artifacts, it would be great to standardize on the behavior rather than let it diverge again.The text was updated successfully, but these errors were encountered: