-
Notifications
You must be signed in to change notification settings - Fork 807
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
Skopeo inspect: provide --top-level about included architectures #1283
Comments
Thanks for reaching out! Some background on the behavior: In your specific case, there is only one item in the list, so I can sympathize with the desire to just inspect this one image. |
It’s overall awkward that I don’t think the right design is to dig in further and add even more magic that guesses about what the user meant. By now there may well be users that rely on To propose an alternative starting point, it would probably make sense to provide an inspect-manifest (or That would get us closer to fixing the “inspect mixes data about different objects” problem, and still allow scripting whatever introspection is necessary — better than what we have now, and much more robust than any kind of guessing. And eventually, in some vague future, we might have an Looking at the code, the code doesn’t seem to actually use any of the per-architecture data returned by Skopeo inspect anyway; the only thing it does do is extract the platform so that it can do a single-architecture So, an inspect-manifest that provides precisely that kind of data would AFAICS be sufficient, abstract the caller from schema2/OCI/future format differences (unlike using |
Here is my use case: reliably fetch a whole image and then analyze its composition. For this for now the input to this is a In the short term, there is no provision for multi-architectures yet (since a So ideally my flow could be either one of these:
With this I can then have these user flows:
|
A friendly reminder that this issue had no activity for 30 days. |
@mtrmac, the My use case is that I am writing a process that should verify a tag and digest supplied by a developer, because the digest will be used to copy the image to a private registry, where the copied image will be retagged with the supplied original tag. If the tag is not in fact pointing to the image referenced by the digest, my process should reject the tag and digest supplied by the developer, because continuing to use that tag internally would be inaccurate. My approach is to try and use
Being able to just do one Thanks! |
Compare #1933 — we need to somehow account for OCI artifacts. Probably the vaguely contemplated Or, maybe, have a |
A friendly reminder that this issue had no activity for 30 days. |
I would expect that
inspect
could return data from images even though they do not match my current OS/arch and without me first knowing about the image OS/Arch.To me the whole purpose of inspect is that It should not require to know anything about the image OS or arch in the first place.
I have integrated skopeo here to fetch images https://github.com/nexB/scancode.io/blob/62911d1fe692327a23af85fa9668344deb5b9ebd/scanpipe/pipes/fetch.py#L132 but I cannot get inspect to get me data on arbitrary docker:// references unless I use
inspect --raw
first to find out about the architecture and OS.Using the latest 1.2.3 version from Linux, I cannot get inspect to work when running this:
Yet things work with
--override-os=windows
:and this:
The text was updated successfully, but these errors were encountered: