Skip to content

Commit cfc27a8

Browse files
committed
runtime: Only require 'pid' in the state for created/running statuses
Because during the 'creating' phase we may not have a container process yet (e.g. if we're still reading the configuration or setting up cgroups), and in the 'stopped' phase the PID is no longer meaningful. Signed-off-by: W. Trevor King <wking@tremily.us>
1 parent fd2e95c commit cfc27a8

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

runtime.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ Whether other entities using the same, or other, instance of the runtime can see
77

88
## State
99

10-
The state of a container MUST include, at least, the following properties:
10+
The state of a container includes the following properties:
1111

12-
* **`ociVersion`**: (string) is the OCI specification version used when creating the container.
13-
* **`id`**: (string) is the container's ID.
12+
* **`ociVersion`** (string, REQUIRED) is the OCI specification version used when creating the container.
13+
* **`id`** (string, REQUIRED) is the container's ID.
1414
This MUST be unique across all containers on this host.
1515
There is no requirement that it be unique across hosts.
16-
* **`status`**: (string) is the runtime state of the container.
16+
* **`status`** (string, REQUIRED) is the runtime state of the container.
1717
The value MAY be one of:
1818

1919
* `creating`: the container is being created (step 2 in the [lifecycle](#lifecycle))
@@ -22,12 +22,14 @@ The value MAY be one of:
2222
* `stopped`: the container process has exited (step 5 in the [lifecycle](#lifecycle))
2323

2424
Additional values MAY be defined by the runtime, however, they MUST be used to represent new runtime states not defined above.
25-
* **`pid`**: (int) is the ID of the container process, as seen by the host.
26-
* **`bundlePath`**: (string) is the absolute path to the container's bundle directory.
25+
* **`pid`** (int, REQUIRED when `status` is `created` or `running`) is the ID of the container process, as seen by the host.
26+
* **`bundlePath`**: (string, REQUIRED) is the absolute path to the container's bundle directory.
2727
This is provided so that consumers can find the container's configuration and root filesystem on the host.
28-
* **`annotations`**: (map) contains the list of annotations associated with the container.
28+
* **`annotations`**: (map, OPTIONAL) contains the list of annotations associated with the container.
2929
If no annotations were provided then this property MAY either be absent or an empty map.
3030

31+
The state MAY include additional properties.
32+
3133
When serialized in JSON, the format MUST adhere to the following pattern:
3234

3335
```json

0 commit comments

Comments
 (0)