Skip to content

Commit

Permalink
glossary: Merge into the definitions file
Browse files Browse the repository at this point in the history
There is no reason to separate these from the definitions which are
already there.  But the existing definition paragraphs define multiple
terms a piece, so I haven't converted them to the alphabetized
labeled-list format I've been using for glossary entries.

Signed-off-by: W. Trevor King <wking@tremily.us>
  • Loading branch information
wking committed Nov 15, 2016
1 parent 5debeaf commit c9a2b15
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 47 deletions.
8 changes: 4 additions & 4 deletions config-linux.asc
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ Entries have the following properties:
`cgroup`::: the container will have an isolated view of the cgroup hierarchy.

`path`::
(string, OPTIONAL) - path to namespace file in the `<<runtime-namespace,runtime mount namespace>>`.
(string, OPTIONAL) - path to namespace file in the <<runtime-namespace,runtime mount namespace>>.

If a path is specified, that particular file is used to join that type of namespace.
If a namespace type is not specified in the `namespaces` array, the container MUST inherit the `<<runtime-namespace>>` of that type.
If a namespace type is not specified in the `namespaces` array, the container MUST inherit the <<runtime-namespace>> of that type.
If a new namespace is not created (because the namespace type is not listed, or because it is listed with a `path`), runtimes MUST assume that the setup for that namespace has already been done and error out if the config specifies anything else related to that namespace.
If a `namespaces` field contains duplicated namespaces with same `type`, the runtime MUST error out.

Expand Down Expand Up @@ -808,7 +808,7 @@ Masked Paths

`maskedPaths`::
(array of strings, OPTIONAL) will mask over the provided paths inside the container so that they cannot be read.
The values MUST be absolute paths in the `<<container-namespace>>`.
The values MUST be absolute paths in the <<container-namespace>>.

[[linux-maskedPaths-example]]
.Example
Expand All @@ -827,7 +827,7 @@ Readonly Paths

`readonlyPaths`::
(array of strings, OPTIONAL) will set the provided paths as readonly inside the container.
The values MUST be absolute paths in the `<<container-namespace>>`.
The values MUST be absolute paths in the <<container-namespace>>.

[[linux-readonlyPaths-example]]
.Example
Expand Down
8 changes: 4 additions & 4 deletions config.asc
Original file line number Diff line number Diff line change
Expand Up @@ -236,13 +236,13 @@ Linux and Solaris User
For Linux and Solaris based systems the user structure has the following fields:

`uid`::
(int, REQUIRED) specifies the user ID in the `<<container namespace>>`.
(int, REQUIRED) specifies the user ID in the <<container-namespace>>.

`gid`::
(int, REQUIRED) specifies the group ID in the `<<container namespace>>`.
(int, REQUIRED) specifies the group ID in the <<container-namespace>>.

`additionalGids`::
(array of ints, OPTIONAL) specifies additional group IDs (in the `<<container-namespace>>`) to be added to the process.
(array of ints, OPTIONAL) specifies additional group IDs (in the <<container-namespace>>) to be added to the process.

[NOTE]
Symbolic name for `uid` and `gid`, such as `uname` and `gname` respectively, are left to upper levels to derive (i.e. `/etc/passwd` parsing, NSS, etc.).
Expand Down Expand Up @@ -455,7 +455,7 @@ Hooks allow one to run code before/after various lifecycle events of the contain
Hooks MUST be called in the listed order.
The state of the container is passed to the hooks over {stdin-3}[stdin], so the hooks could get the information they need to do their work.

Hook paths are absolute and are executed from the host's filesystem in the `<<runtime-namespace>>`.
Hook paths are absolute and are executed from the host's filesystem in the <<runtime-namespace>>.

[[prestart,prestart]]
Prestart
Expand Down
31 changes: 30 additions & 1 deletion definitions.asc
Original file line number Diff line number Diff line change
@@ -1,12 +1,41 @@
Definitions
-----------

:rfc2119: http://tools.ietf.org/html/rfc2119
:c99-unspecified: http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf#page=18
:json: https://tools.ietf.org/html/rfc7159
:namespaces-7: http://man7.org/linux/man-pages/man7/namespaces.7.html
:rfc2119: http://tools.ietf.org/html/rfc2119
:utf-8: http://www.unicode.org/versions/Unicode8.0.0/ch03.pdf

In the specifications in the above table of contents, the keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in {rfc2119}[RFC 2119] (Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997).

The keywords "unspecified", "undefined", and "implementation-defined" are to be interpreted as described in the {c99-unspecified}[rationale for the C99 standard].

An implementation is not compliant for a given CPU architecture if it fails to satisfy one or more of the MUST, REQUIRED, or SHALL requirements for the protocols it implements.
An implementation is compliant for a given CPU architecture if it satisfies all the MUST, REQUIRED, and SHALL requirements for the protocols it implements.

[[bundle-definition,bundle]] bundle::
A <<bundle,directory structure>> that is written ahead of time, distributed, and used to seed the runtime for creating a <<container>> and launching a process within it.

[[config-definition,configuration]] configuration::
The <<config,`config.json`>> file in a <<bundle-definition>> which defines the intended <<container>> and container process.

[[container,container]] container::
An environment for executing processes with configurable isolation and resource limitations.
For example, namespaces, resource limits, and mounts are all part of the container environment.

[[container-namespace,container namespace]] container namespace::
On Linux, a leaf in the {namespaces-7}[namespace] hierarchy in which the <<process,configured process>> executes.

[[json,JSON]] JSON::
All configuration {json}[JSON] MUST be encoded in {utf-8}[UTF-8].
JSON objects MUST NOT include duplicate names.
The order of entries in JSON objects is not significant.

[[runtime-definition,runtime]] runtime::
An implementation of this specification.
It reads the <<config-definition>> from a <<bundle-definition>>, uses that information to create a <<container>>, launches a process inside the container, and performs other <<runtime,lifecycle actions>>.

[[runtime-namespace,runtime namespace]] runtime namespace::
On Linux, a leaf in the {namespaces-7}[namespace] hierarchy from which the <<runtime-definition>> process is executed.
New <<container-namespace,container namespaces>> will be created as children of the runtime namespaces.
38 changes: 0 additions & 38 deletions glossary.md

This file was deleted.

0 comments on commit c9a2b15

Please sign in to comment.