Skip to content

Commit 6f5ae34

Browse files
committed
Use RFC 2119's keywords (MUST, MAY, ...)
This approach has landed in opencontainers/specs [1,2]. You can find the RFC here [3]. [1]: opencontainers/runtime-spec#256 [2]: opencontainers/runtime-spec#260 [3]: http://tools.ietf.org/html/rfc2119 Signed-off-by: W. Trevor King <[email protected]>
1 parent e9a6625 commit 6f5ae34

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

runtime.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Operations
22

3-
A conformant runtime should provide an executable (called `funC` in the following examples).
4-
The template for supported commands is:
3+
A conformant runtime MUST provide an executable (called `funC` in the following examples).
4+
That executable MUST support commands with the following template:
55

66
```sh
77
$ funC [global-options] <COMMAND> [command-specific-options] <command-specific-arguments>
@@ -26,14 +26,14 @@ For example, POSIX systems define [`LANG` and related environment variables][pos
2626

2727
Print the runtime version and exit.
2828

29-
* *Options* None are required, but the runtime may support options.
29+
* *Options* None are required, but the runtime MAY support options.
3030
* *Standard streams*
31-
* *stdin:* The runtime may not attempt to read from its stdin.
32-
* *stdout:* The runtime must print its name, a space, and its version as the first line to its stdout.
33-
The name may contain any Unicode characters except a control codes and newlines.
34-
The runtime may print additional lines its stdout, and the format for those lines is not specified in this document.
35-
* *stderr:* The runtime may print diagnostic messages to stderr, and the format for those lines is not specified in this document.
36-
* *Exit code:* The runtime must exit with zero.
31+
* *stdin:* The runtime MUST NOT attempt to read from its stdin.
32+
* *stdout:* The runtime MUST print its name, a space, and its version as the first line to its stdout.
33+
The name MAY contain any Unicode characters, but MUST NOT contain control codes or newlines.
34+
The runtime MAY print additional lines to its stdout, and the format for those lines is not specified in this document.
35+
* *stderr:* The runtime MAY print diagnostic messages to stderr, and the format for those lines is not specified in this document.
36+
* *Exit code:* The runtime MUST exit with zero.
3737

3838
Example:
3939
```sh
@@ -53,11 +53,11 @@ Start a container from a bundle directory.
5353
If not set, the runtime is free to pick any ID that is not already in use.
5454
* *`--config <PATH>`* Override `config.json` with an alternative path. The path may not support seeking (e.g. `/dev/fd/3`).
5555
* *`--runtime <PATH>`* Override `runtime.json` with an alternative path. The path may not support seeking (e.g. `/dev/fd/3`).
56-
* *Standard streams:* The runtime must attach its standard streams directly to the application process without inspection.
56+
* *Standard streams:* The runtime MUST attach its standard streams directly to the application process without inspection.
5757
* *Environment variables*
5858
* *`LISTEN_FDS`:* The number of file descriptors passed.
59-
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].
60-
* *Exit code:* The runtime must exit with the application process's exit code.
59+
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].
60+
* *Exit code:* The runtime MUST exit with the application process's exit code.
6161

6262
Example:
6363
```sh

0 commit comments

Comments
 (0)