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

Add initial roadmap #230

Merged
merged 1 commit into from
Nov 9, 2015
Merged

Conversation

crosbymichael
Copy link
Member

This adds the initial roadmap for the project. I compiled this list from various weekly meetings, issues, and discussions on irc.

This is not meant to be an absolute list of things that we will or will not do, just a way for our project to convey what we want to focus on and work towards. I tried to add "owners" based on people who expressed interest in the various topics.

Let me know what you all think. We can use this overall list and break out topics for various milestones.

Signed-off-by: Michael Crosby [email protected]

Containers have a lifecycle and being able to identify and document the lifecycle of a container is very helpful for implementations of the spec.
The lifecycle events of a container also help identify areas to implement hooks that are portable across various implementations and platforms.

**Owner: **
Copy link
Contributor

Choose a reason for hiding this comment

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

@mrunalp has volunteered for this a few times, most recently here.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes but lets have those people comment for themselves and not just sign them up. There are also other people wanting to work on this.

Also lets let everyone review the content before we start nit picking on smaller things.

Copy link
Contributor

Choose a reason for hiding this comment

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

@crosbymichael We whiteboarded this yesterday and I will create a PR based on that.

Copy link
Contributor

Choose a reason for hiding this comment

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

@duglin You might want to help out here.

Copy link
Contributor

Choose a reason for hiding this comment

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

@mrunalp yup - been swamped since the f2f, starting to free up now...

@tianon
Copy link
Member

tianon commented Oct 22, 2015

On the high level, great big 👍 here.

@wking
Copy link
Contributor

wking commented Oct 22, 2015

On Thu, Oct 22, 2015 at 12:02:36PM -0700, Michael Crosby wrote:

This is not meant to be an absolute list of things that we will or
will not do, just a way for our project to convey what we want to
focus on and work towards. I tried to add "owners" based on people
who expressed interest in the various topics.

Also candidates for this list:

  • Separate config entries for device mknod and cgroups 1.
  • Document container ID charset and uniqueness domain 2.
  • Seccomp actions with arguments [3](revived via [4]).
  • Specifying a command-line API [5,6].

I'm happy to help with or take ownership of any of those. If we don't
want to list them in the roadmap, I'm also happy to just continue
discussion on the list.


**Owner: **

### Define Container Lifecycle
Copy link
Contributor

Choose a reason for hiding this comment

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

I can create a PR based on yesterdays discussions. (will be glad to have @crosbymichael to help out as well)

@mrunalp
Copy link
Contributor

mrunalp commented Oct 22, 2015

Good idea to have this to track the items 👍

@mrunalp
Copy link
Contributor

mrunalp commented Oct 22, 2015

We could probably have a section for exec.
cc: @vishh

@@ -0,0 +1,103 @@
# OCI Specs Roadmap

This document serves to provide both a long term roadmap on our quest to a 1.0 version of the OCI container specification.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: both seems to imply two goals. I see only one mentioned in this sentence.

@hqhq
Copy link
Contributor

hqhq commented Oct 23, 2015

Great job 👍 , now we have more clearer view for what we are doing now.
Looking forward to see more detailed milestones. 😄

@hqhq
Copy link
Contributor

hqhq commented Oct 27, 2015

Is there any plan about network in container?

### Digest and Hashing

A bundle is designed to be moved between hosts.
Although OCI doesn't define a transport method we should have a cryptographic digest of the on-disk bundle that can be used to verify that a bundle is not corrupted and in an expected configuration.
Copy link
Contributor

Choose a reason for hiding this comment

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

Since I think there may be a difference between the "on-disk" bundle and the "archive" that we create when we try to move a bundle I think it might be best to remove the "on-disk" part of this sentence. For example, an incoming bundle might have the notion of layers, but if the implementation of OCI flattens its down to just a single dir I don't think we want to hash the flatten dir, we want to hash the original bundle and do verification of that.

@duglin
Copy link
Contributor

duglin commented Oct 27, 2015

It might be good to add a PR/Issue: ... field to each so that people can easily go from this doc to the issue/PR that has the design discussions.

@wking
Copy link
Contributor

wking commented Oct 27, 2015

On Tue, Oct 27, 2015 at 02:19:56AM -0700, Qiang Huang wrote:

Is there any plan about network in container?

I think the consensus is that Docker-style networking is out-of-scope
[1,2]. I also think an important part of scoping is collecting a list
of frequently requested but out of scope features somewhere
discoverable 3. Maybe we can add that to this roadmap?

 Subject: Do we have any plan for network and storage specs?
 Message-Id: <[email protected]>

 Subject: Re: Make the container spec unified for both native and virtual machine
 Message-ID: <[email protected]>

@wking
Copy link
Contributor

wking commented Oct 27, 2015

On Tue, Oct 27, 2015 at 08:51:57AM -0700, Doug Davis wrote:

It might be good to add a PR/Issue: ... field to each so that
people can easily go from this doc to the issue/PR that has the
design discussions.

I think the suggestion is to keep design discussion on the list [1](landed in #86), but +1 to linking to wherever the discussion is
happening.


Decide on a robust versioning schema for the spec as it evolves.

**Owner: **
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm glad to help on the version schema.

@crosbymichael
Copy link
Member Author

Updated based on initial comments. I think any more assignments can be added as PRs after we merge for people who want to work on a topic.

@crosbymichael
Copy link
Member Author

ping

@mrunalp
Copy link
Contributor

mrunalp commented Nov 2, 2015

LGTM

@vishh
Copy link
Contributor

vishh commented Nov 2, 2015

LGTM. We can iterate starting with this.

A bundle is designed to be moved between hosts.
Although OCI doesn't define a transport method we should have a cryptographic digest of the on-disk bundle that can be used to verify that a bundle is not corrupted and in an expected configuration.

**Owner: ** philips
Copy link
Member

Choose a reason for hiding this comment

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

a nit on the formating. (view it here), this looks like it's intended to be bold, but it formats like floating asterisks

@vbatts
Copy link
Member

vbatts commented Nov 3, 2015

This LGTM apart from the formatting nit.

Signed-off-by: Michael Crosby <[email protected]>
@crosbymichael
Copy link
Member Author

@vbatts fixed your formatting issue. I don't know how to markdown....

@crosbymichael
Copy link
Member Author

i'll merge this now

crosbymichael added a commit that referenced this pull request Nov 9, 2015
@crosbymichael crosbymichael merged commit 46d949e into opencontainers:master Nov 9, 2015
@crosbymichael crosbymichael deleted the roadmap branch November 9, 2015 22:34
@vbatts
Copy link
Member

vbatts commented Nov 9, 2015

Cool. Thanks.

wking added a commit to wking/opencontainer-runtime-spec that referenced this pull request May 13, 2016
I think this is resolved since 7713efc (Add lifecycle for containers,
2015-10-22, opencontainers#231), which was committed on the same day as the ROADMAP
entry (4859f6d, Add initial roadmap, 2015-10-22, opencontainers#230).

Signed-off-by: W. Trevor King <[email protected]>
wking added a commit to wking/opencontainer-runtime-spec that referenced this pull request May 15, 2016
# digest/hashing target

Most of this has spun off with [1], and I haven't heard of anyone
talking about verifying the on-disk filesystem in a while.  My
personal take is on-disk verification doesn't add much over serialized
verification unless you have a local attacker (or unreliable disk),
and you'll need some careful threat modeling if you want to do
anything productive about the local attacker case.  For some more
on-disk verification discussion, see the thread starting with [2].

# distributable-format target

This spun off with [1].

# lifecycle target

I think this is resolved since 7713efc (Add lifecycle for containers,
2015-10-22, opencontainers#231), which was committed on the same day as the ROADMAP
entry (4859f6d, Add initial roadmap, 2015-10-22, opencontainers#230).

# container-action target

Addressed by 7117ede (Expand on the definition of our ops,
2015-10-13, opencontainers#225), although there has been additional discussion in
a7a366b (Remove exec from required runtime functionalities,
2016-04-19, opencontainers#388) and 0430aaf (Split create and start, 2016-04-01,
opencontainers#384).

# validation and testing targets

Validation is partly covered by cdcabde (schema: JSON Schema and
validator for `config.json`, 2016-01-19, opencontainers#313) and subequent JSON
Schema work.  The remainder of these targets are handled by ocitools
[3].

# printable/compiled-spec target

The bulk of this was addressed by 4ee036f (*: printable documents,
2015-12-09, opencontainers#263).  Any remaining polishing of that workflow seems
like a GitHub-issue thing and not a ROADMAP thing.  And publishing
these to opencontainers.org certainly seems like it's outside the
scope of this repository (although I think that such publishing is a
good idea).

[1]: https://github.com/opencontainers/image-spec
[2]: https://groups.google.com/a/opencontainers.org/d/msg/dev/xo4SQ92aWJ8/NHpSQ19KCAAJ
     Subject: OCI Bundle Digests Summary
     Date: Wed, 14 Oct 2015 17:09:15 +0000
     Message-ID: <CAD2oYtN-9yLLhG_STO3F1h58Bn5QovK+u3wOBa=t+7TQi-hP1Q@mail.gmail.com>
[3]: https://github.com/opencontainers/ocitools

Signed-off-by: W. Trevor King <[email protected]>
Mashimiao pushed a commit to Mashimiao/specs that referenced this pull request Aug 19, 2016
# digest/hashing target

Most of this has spun off with [1], and I haven't heard of anyone
talking about verifying the on-disk filesystem in a while.  My
personal take is on-disk verification doesn't add much over serialized
verification unless you have a local attacker (or unreliable disk),
and you'll need some careful threat modeling if you want to do
anything productive about the local attacker case.  For some more
on-disk verification discussion, see the thread starting with [2].

# distributable-format target

This spun off with [1].

# lifecycle target

I think this is resolved since 7713efc (Add lifecycle for containers,
2015-10-22, opencontainers#231), which was committed on the same day as the ROADMAP
entry (4859f6d, Add initial roadmap, 2015-10-22, opencontainers#230).

# container-action target

Addressed by 7117ede (Expand on the definition of our ops,
2015-10-13, opencontainers#225), although there has been additional discussion in
a7a366b (Remove exec from required runtime functionalities,
2016-04-19, opencontainers#388) and 0430aaf (Split create and start, 2016-04-01,
opencontainers#384).

# validation and testing targets

Validation is partly covered by cdcabde (schema: JSON Schema and
validator for `config.json`, 2016-01-19, opencontainers#313) and subequent JSON
Schema work.  The remainder of these targets are handled by ocitools
[3].

# printable/compiled-spec target

The bulk of this was addressed by 4ee036f (*: printable documents,
2015-12-09, opencontainers#263).  Any remaining polishing of that workflow seems
like a GitHub-issue thing and not a ROADMAP thing.  And publishing
these to opencontainers.org certainly seems like it's outside the
scope of this repository (although I think that such publishing is a
good idea).

[1]: https://github.com/opencontainers/image-spec
[2]: https://groups.google.com/a/opencontainers.org/d/msg/dev/xo4SQ92aWJ8/NHpSQ19KCAAJ
     Subject: OCI Bundle Digests Summary
     Date: Wed, 14 Oct 2015 17:09:15 +0000
     Message-ID: <CAD2oYtN-9yLLhG_STO3F1h58Bn5QovK+u3wOBa=t+7TQi-hP1Q@mail.gmail.com>
[3]: https://github.com/opencontainers/ocitools

Signed-off-by: W. Trevor King <[email protected]>
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.

10 participants