-
Notifications
You must be signed in to change notification settings - Fork 608
Talk about host specific/independent instead of mutability #238
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,17 +10,20 @@ The definition of a bundle is only concerned with how a container, and its confi | |
| A Standard Container bundle contains all the information needed to load and run a container. | ||
| This includes the following three artifacts which MUST all reside in the same directory on the local filesystem: | ||
|
|
||
| 1. `config.json` : immutable, host independent configuration. | ||
| 1. `config.json` : contains host independent configuration data. | ||
| This REQUIRED file, which MUST be named `config.json`, contains settings that are host independent and application specific such as security permissions, environment variables and arguments. | ||
| When the bundle is packaged up for distribution, this file MUST be included. | ||
| See [`config.json`](config.md) for more details. | ||
|
|
||
| 2. `runtime.json` : mutable, host dependent configuration. | ||
| This REQUIRED file, which MUST be named `runtime.json`, contains settings that are host specific such as memory limits, local device access and mount sources. | ||
| The goal is that the bundle can be moved as a unit to another runtime and run the same application if `runtime.json` is reconfigured. | ||
| 2. `runtime.json` : contains host-specific configuration data. | ||
| This REQUIRED file, which MUST be named `runtime.json`, contains settings that are host specific such as mount sources and hooks. | ||
| The goal is that the bundle can be moved as a unit to another runtime and run the same application once a host-specific `runtime.json` is defined. | ||
| When the bundle is packaged up for distribution, this file MUST NOT be included. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was concern about this from the Solaris folks. I think allowing, but not requiring, |
||
| See [`runtime.json`](runtime-config.md) for more details. | ||
|
|
||
| 3. A directory representing the root filesystem of the container. | ||
| While the name of this REQUIRED directory may be arbitrary, users should consider using a conventional name, such as `rootfs`. | ||
| When the bundle is packaged up for distribution, this directory MUST be included. | ||
| This directory MUST be referenced from within the `config.json` file. | ||
|
|
||
| While these three artifacts MUST all be present in a single directory on the local filesytem, that directory itself is not part of the bundle. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| package specs | ||
|
|
||
| // State holds information about the runtime state of the container. | ||
| // This information will be stored in a file called `state.json`. | ||
| // The location of this file will be operating system specific. On Linux | ||
| // it will be in `/run/opencontainers/runc/<containerID>/state.json` | ||
| type State struct { | ||
| // Version is the version of the specification that is supported. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've wanted
|
||
| Version string `json:"version"` | ||
| // ID is the container ID | ||
| ID string `json:"id"` | ||
| // Pid is the process id for the container's main process. | ||
| Pid int `json:"pid"` | ||
| // BundlePath is the path to the container's bundle directory. | ||
| BundlePath string `json:"bundlePath"` | ||
| } | ||
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.
Where did memory limits and local device access go?