-
Notifications
You must be signed in to change notification settings - Fork 27
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
Delete only handles docker v2 image manifests #31
Comments
Ah yes. @sudo-bmitch This is a good find. We should definitely be accepting and cleaning OCI images (and multi-arch). It would be relatively easy to just update the list of Accept headers to the list you provided, I'm wondering what else might be out there too. |
There are some proposals to add more (a new artifact-spec and a manifest for a single descriptor come to mind) but I haven't seen anything else accepted by OCI yet. There could always by other projects out there, not sure how much validation the registry image does on that media type and if it allows unknown manifests. Here's the OCI list: https://github.com/opencontainers/image-spec/blob/main/media-types.md |
Thanks. This still seems pretty doable, just iterating over this list. I'm happy to give it a try if nobody else does, and add some tests to validate that it works. |
If my reading of the registry code is correct, the provided list covers them all and anything else will trigger a marshalling error. It looks like schema v1 was also disabled in your registry config, which removes the need for those older docker media types. https://github.com/distribution/distribution/blob/main/registry/handlers/manifests.go |
I'm not much of a typescript coder, so I'll leave the fix up to those that know it. You should be able to pass all of the accept entries in one http request and the server will include a content-type header that lets you know which one it found. |
Hi, I need to check the image status which Manifest version is it supporting please execute this command and send its result here. Command: docker manifest inspect ttl.sh/library/busybox:5m |
I'm guessing the manifest inspect is trying to resolve the platform. The image itself is a multi-platform image where only the linux/amd64 platform manifest was deleted.
|
I have some questions. Because what i have get is this repo https://github.com/miguelvizdev/ttl.sh inside this code base I haven't found any Git CI action related to this image name. |
The busybox was just an example image to show the issue. It was copied from Docker Hub (using |
If our issue is related to this repo - https://github.com/miguelvizdev/ttl.sh, I have seen there is three Dockerfiles one is for Dockerfile.hooks Dockerfile.reap which is using by Github CI and inside these we are using Node 10 version base image which is very old version of Node which is not supporting latest configs. Question is can we change this Node version to latest if our code is not break or any developer can help which version is supporting our code base. If it will not effect our code base we can change version and test it. |
If I push a multi-platform image, or an OCI image, they aren't being cleaned after the timeout. I believe it's related to
ttl.sh/hooks/src/commands/reap.ts
Line 52 in f42ce4d
The registry itself will automatically resolve a multi-platform image to linux/amd64 by default if you don't request the manifest list, so you end up with the following (5 minutes had passed):
The text was updated successfully, but these errors were encountered: