-
Notifications
You must be signed in to change notification settings - Fork 557
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
README: add some user stories #280
README: add some user stories #280
Conversation
@@ -22,9 +22,17 @@ In the specifications in the above table of contents, the keywords "MUST", "MUST | |||
|
|||
To provide context for users the following section gives example use cases for each part of the spec. | |||
|
|||
## Filesystem Bundle & Configuration | |||
**Container Configuration** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather stick to headers (they go all the way down to h6 ;), so we get link anchors.
On Tue, Dec 22, 2015 at 10:10:47PM -0800, Brandon Philips wrote:
+1 to this :). The content sections look like they're currently User storiesBundle authorBundle authors can write and publish bundles to Runtime authorRuntime authors can write runtime implementations to allow Hook authorHook authors can write commands to handle Runtime callersRuntime callers can use a consistent runtime Although until the command-line API lands somewhere more official, we |
@wking I like your approach by user better, I will fix if up. |
+1 to user approach |
90f4d36
to
acb2dd0
Compare
I am going to add some additional use cases so lets move to h4 instead of an h2. Signed-off-by: Brandon Philips <[email protected]>
ad4a7e9
to
229d601
Compare
|
||
- A user can create a root filesystem and configuration, with low-level OS and host specific details, and launch it as a container under an Open Container runtime. | ||
Application bundle builders can create a [bundle](bundle.md) directory that includes all of the files and some low-level details for launching an application as a container. | ||
The application can in-turn rely on certain OS configuration being available when it is launched inside of a container by a runtime. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in-turn -> in turn
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's pretty unclear what low level configuration the user (builder) must specify and what will be provided by something else (presumably the runtime). Maybe this is just conflating the two "users"? (builder and application).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Thu, Dec 24, 2015 at 06:24:56AM -0800, Jonathan Boulle wrote:
-- A user can create a root filesystem and configuration, with low-level OS and host specific details, and launch it as a container under an Open Container runtime.
+Application bundle builders can create a bundle directory that includes all of the files and some low-level details for launching an application as a container.
+The application can in-turn rely on certain OS configuration being available when it is launched inside of a container by a runtime.It's pretty unclear what low level configuration the user (builder)
must specify and what will be provided by something else (presumably
the runtime).
I'm pretty sure this is calling attention to the requirements added in
in #164. And again, I don't think we need to get down to this level
of detail here. Folks are packaging some software in a container
because they want it to be easy to run in a reliable, safe manner.
They pick the OCI format because it's a popular (hopefully ;) standard
with broad (hopefully ;) support. Making a low-level sales pitch for
the OCI format (vs. other formats?) seems to be off-target for a
doc-section where we're trying to paint pictures of who these
spec-user classes are.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OCI is low-level. It points and and in many cases requires things like cgroups paths. I think someone familiar with docker image format or appc would be surprised by these requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On Fri, Dec 25, 2015 at 07:46:34AM -0800, Brandon Philips wrote:
+Application bundle builders can create a bundle
directory that includes all of the files and some low-level
details for launching an application as a container.
+The application can in-turn rely on certain OS configuration
being available when it is launched inside of a container by a
runtime.OCI is low-level. It points and and in many cases requires things
like cgroups paths. I think someone familiar with docker image
format or appc would be surprised by these requirements.
Clearing up that surprise makes more sense to me than the “can in-turn
rely on” phrasing (which doesn't link to docs about what OS
configuration it's referring to). How about:
Application bundle builders can create a bundle
directory that includes all of the files required for launching an
application as a container. The bundle also contains OCI
configuration files where you can
declare both high-level settings (which executable to
launch) and low-level settings
(which namespaces and
cgroups to join).
Although I still prefer my initial focus on resource limits 1, as it
avoids mentioning the Linux-specific cgroups/namespaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to stop trying to try and be OS agnostic until we get details on a second target. We are just inventing language without a target abstraction.
229d601
to
1ca1981
Compare
[Hook](runtime-config.md#hooks) authors can extend the functionality of an OCI-compliant runtime by hooking into a container's lifecycle with an external application. | ||
Example use cases include sophisticated network configuration, volume garbage collection, etc. | ||
|
||
#### Runtime Writer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: s/Writer/Developer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
577cf5f
to
b5b252d
Compare
Please take a look at this latest attempt. |
- A user can create a root filesystem and configuration, with low-level OS and host specific details, and launch it as a container under an Open Container runtime. | ||
Application bundle builders can create a [bundle](bundle.md) directory that includes all of the files required for launching an application as a container. | ||
The bundle contains OCI [configuration files](config.md) where the builder can specify host-independent details such as [which executable to launch](config.md#process-configuration) and host-specific settings such as [mount](runtime-config.md#mount-configuration) locations, [hook](runtime-config.md#hooks) paths, Linux [namespaces](runtime-config-linux.md#namespaces) and [cgroups](runtime-config-linux.md#control-groups). | ||
Because the configuration includes host-specific settings application bundle directories copied between two hosts may not work and will require configuration adjustments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“settings application” → “settings, application”. And I'd replace “may not work and will require configuration adjustments” with “may require configuration adjustments” (to soften the “will”), because there's a chance that it does work as copied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will change it to may but in almost every non-trivial example it will require changes.
Lets call out some users directly and give them titles. Then define what they is trying to do. Signed-off-by: Brandon Philips <[email protected]>
b5b252d
to
9289afe
Compare
Can I get an lgtm and merge? |
LGTM |
1 similar comment
LGTM |
I am trying to document who might want to read this spec. I constantly get asked who should be looking at OCI and why. Lets see how successful I am.