From e41ffc1678a200b8aef347cd5e0ff94aa9c15b65 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Wed, 2 Dec 2015 16:35:13 -0800 Subject: [PATCH] Use RFC 2119's keywords (MUST, MAY, ...) This approach has landed in opencontainers/specs [1,2]. You can find the RFC here [3]. [1]: https://github.com/opencontainers/specs/issues/256 [2]: https://github.com/opencontainers/specs/pull/260 [3]: http://tools.ietf.org/html/rfc2119 Signed-off-by: W. Trevor King Reviewed-by: Mike Brown --- runtime.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/runtime.md b/runtime.md index 8a0a645..d56042e 100644 --- a/runtime.md +++ b/runtime.md @@ -1,7 +1,7 @@ # Operations -A conformant runtime should provide an executable (called `funC` in the following examples). -The template for supported commands is: +A conformant runtime MUST provide an executable (called `funC` in the following examples). +That executable MUST support commands with the following template: ```sh $ funC [global-options] [command-specific-options] @@ -26,14 +26,14 @@ For example, POSIX systems define [`LANG` and related environment variables][pos Print the runtime version and exit. -* *Options* None are required, but the runtime may support options. +* *Options* None are required, but the runtime MAY support options. * *Standard streams* - * *stdin:* The runtime may not attempt to read from its stdin. - * *stdout:* The runtime must print its name, a space, and its version as the first line to its stdout. - The name may contain any Unicode characters except a control codes and newlines. - The runtime may print additional lines its stdout, and the format for those lines is not specified in this document. - * *stderr:* The runtime may print diagnostic messages to stderr, and the format for those lines is not specified in this document. -* *Exit code:* The runtime must exit with zero. + * *stdin:* The runtime MUST NOT attempt to read from its stdin. + * *stdout:* The runtime MUST print its name, a space, and its version as the first line to its stdout. + The name MAY contain any Unicode characters, but MUST NOT contain control codes or newlines. + The runtime MAY print additional lines to its stdout, and the format for those lines is not specified in this document. + * *stderr:* The runtime MAY print diagnostic messages to stderr, and the format for those lines is not specified in this document. +* *Exit code:* The runtime MUST exit with zero. Example: ```sh @@ -52,11 +52,11 @@ Start a container from a bundle directory. * *`--id `* Set the container ID when creating or joining a container. If not set, the runtime is free to pick any ID that is not already in use. * *`--bundle `* Override the path to the bundle directory (defaults to the current working directory). -* *Standard streams:* The runtime must attach its standard streams directly to the application process without inspection. +* *Standard streams:* The runtime MUST attach its standard streams directly to the application process without inspection. * *Environment variables* * *`LISTEN_FDS`:* The number of file descriptors passed. - For example, `LISTEN_FDS=2` would mean passing 3 and 4 (in addition to the [standard streams][standard-streams]) to support [socket activation][systemd-listen-fds]. -* *Exit code:* The runtime must exit with the application process's exit code. + For example, `LISTEN_FDS=2` would mean that the runtime MUST pass file descriptors 3 and 4 to the application process (in addition to the [standard streams][standard-streams]) to support [socket activation][systemd-listen-fds]. +* *Exit code:* The runtime MUST exit with the application process's exit code. Example: ```sh