-
Notifications
You must be signed in to change notification settings - Fork 640
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
Outline the transportable objects #23
Comments
Is this essentially the enhancement/replacement of serialization.md? |
@jonboulle sorry, this was more of placeholder thought. The serialization doc does have tar archive info. Though I was thinking more of the manifest. This may be a non-topic, if the culmination of referenced layers in a manifest are handled independently, but the docs need to be cleaned up to show the transportable states of the image. |
Updated the title and comment. Hopefully that helps a bit more. |
Once you've gotten all the objects on disk specified in a manifest, there will be a validation and translation to the runtime-spec bundle, or similar. This needs to be outlined as well. |
I think there are two things here. Spec out a directory layout for manifests and blobs that mirrors how the image manifests work. My suggestion is that the manifest is the primary object in the system so the other "things" are adjacent.
Build a tool that consumes this directory and creates a runnable OCI bundle.
|
On Wed, Apr 20, 2016 at 03:20:44PM -0700, Brandon Philips wrote:
I'd expect the format should also include signatures and the name ↔ And the single-archive-tar use-case needs a HEAD reference or some So how about: ./VERSION where:
And folks who wanted could hit a signature registry to check for Taking this to its logical conclusion, you might also want to also |
VERSION doesn't seem necessary. The manifests describe themselves. |
I am sort of "meh" on creating some optimization that doesn't force a user to specify exactly what they want. HEAD and "latest" create all sorts of weird races and UX. |
On Wed, Apr 20, 2016 at 04:34:24PM -0700, Brandon Philips:
“VERSION doesn't seem necessary. The manifests describe themselves.”
But they don't describe the format of the structure holding the
manifests. For example, maybe a later version of that structure
decides to follow Git in fanning-out the blob store.
|
On Wed, Apr 20, 2016 at 04:35:39PM -0700, Brandon Philips wrote: It lets you run (for the tarball case 1): $ ocitool runtime-bundle file:///path/to/my-oci-image.tar.gz or (for the unpacked directory case): $ ocitool runtime-bundle file:///path/to/my-oci-image/ instead of: $ ocitool runtime-bundle file:///path/to/my-oci-image.tar.gz v1.0 If the image publisher has a particular manifest in mind as a $ ocitool runtime-bundle file:///path/to/my-oci-image.tar.gz v1.0-debug |
Clarification: is |
On Wed, Apr 20, 2016 at 08:22:56PM -0700, Kamal Marhubi wrote: I don't think it really matters what the difference between the names |
I mean is that the intention of the running example? Otherwise I'm confused. |
@kamalmarhubi sure, just something where you could imagine a different set of default args, environments, or some additional objects added to the layer. I could have said v1.0 and v2.0 as well. |
@vbatts What do you think of my rough sketch? Does this address what you had in mind? |
re: #23 (comment) It is logical, though very different from say the current An aside: like the mime-type compatibility table we've mentioned, this makes me think we should make the docs all read very clearly on expected behaviour per mime-type (media-type). It is already a little bit, but will be the clarity as we vet everything out. |
@vbatts where is the docker save/load format documented? |
On Fri, Apr 22, 2016 at 8:47 AM Vincent Batts notifications@github.com
Not following, file a separate issue? |
@philips save/load is not documented to my knowledge.
That was my thought. If they're present but not used, then "undefined behaviour" I suppose.
Right on.
Just a brainstorm. I'll mull on it further. |
@stevvooe in your opinion, if there were ever a |
@vbatts what do you mean by a reference that points to it? Like a symlink? A symlink seems fine. I don't really think we should add a layer of indirection with a new JSON type that then points to an object unless there is a really great reason for it. |
On Mon, May 02, 2016 at 12:24:42AM -0700, Brandon Philips wrote:
I'd caution against symlinks and stick with explicit by-hash |
@philips Sorry for now being clear. I was thinking that |
On Tue, May 24, 2016 at 04:21:38PM -0700, Stephen Day wrote:
That sounds useful to me. Are you suggesting specifying things like:
I have suggestions for the first and last of those sketched in 1. And I'd suggest listing existing MIME types |
@wking While I wasn't really thinking of signatures here, that is definitely a use case. The advantage is that no one needs to add a new way to add signatures to the archive format. We simply specify the mediatype and parentage (how it is referenced) and it can be picked up as a content addressable blob in the archive. Rolling your own mediatypes may be useful, but can be ignore. Refs are only followed if the component understands the mediatype:
|
On Tue, May 24, 2016 at 07:38:09PM -0700, Stephen Day wrote:
I think specifying “how it is referenced” is adding signatures to |
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers#23 opencontainers#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers#23 opencontainers#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
Everyone- I put up a PR to define an "image layout": #94 |
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers#23 opencontainers#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
This is fixed by #94 IMO |
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers/image-spec#23 opencontainers/image-spec#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers/image-spec#23 opencontainers/image-spec#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers/image-spec#23 opencontainers/image-spec#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers/image-spec#23 opencontainers/image-spec#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
In order to build tooling that converts the set of OCI Image objects into an OCI Runtime object we need an Image Layout that test tools can be built around. Longer term this Image Layout could be used to define a "single object image" that is a tar/zip/etc that could be posted over https/ftp/etc. The layout comes from several different discussions: opencontainers/image-spec#23 opencontainers/image-spec#92 Signed-off-by: Brandon Philips <brandon.philips@coreos.com>
From a single tar archive of tar archives and JSON documents, or a manifest JSON document that points to other objects needing to be fetched.
UserStory:
See also https://groups.google.com/a/opencontainers.org/d/msg/dev/VKpZNs-qYoI/RzPhj71ODgAJ
The text was updated successfully, but these errors were encountered: