You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SPEC.md
+52-38
Original file line number
Diff line number
Diff line change
@@ -109,13 +109,14 @@ A network configuration consists of a JSON object with the following keys:
109
109
110
110
-`cniVersion` (string): [Semantic Version 2.0](https://semver.org) of CNI specification to which this configuration list and all the individual configurations conform. Currently "1.1.0"
111
111
-`cniVersions` (string list): List of all CNI versions which this configuration supports. See [version selection](#version-selection) below.
112
-
-`name` (string): Network name. This should be unique across all network configurations on a host (or other administrative domain). Must start with an alphanumeric character, optionally followed by any combination of one or more alphanumeric characters, underscore, dot (.) or hyphen (-).
112
+
-`name` (string): Network name. This should be unique across all network configurations on a host (or other administrative domain). Must start with an alphanumeric character, optionally followed by any combination of one or more alphanumeric characters, underscore, dot (.) or hyphen (-). Must not contain characters disallowed in file paths. A path segment (such as a filesystem directory) with the same name as the network name, containing one or more plugin configuration JSON objects for that network, should exist at the same level as the network configuration object itself.
113
113
-`disableCheck` (boolean): Either `true` or `false`. If `disableCheck` is `true`, runtimes must not call `CHECK` for this network configuration list. This allows an administrator to prevent `CHECK`ing where a combination of plugins is known to return spurious errors.
114
-
-`plugins` (list): A list of CNI plugins and their configuration, which is a list of plugin configuration objects.
114
+
<!-- - `plugins` (list): A list of CNI plugins and their configuration, which is a list of plugin configuration objects.-->
115
115
116
116
#### Plugin configuration objects:
117
-
Plugin configuration objects may contain additional fields than the ones defined here.
118
-
The runtime MUST pass through these fields, unchanged, to the plugin, as defined in section 3.
117
+
All plugin configuration objects present in a directory with the same name as a valid network configuration must be parsed, and each plugin with a parsable configuration object must be invoked.
118
+
119
+
Plugin configuration objects may contain additional fields beyond the ones defined here. The runtime MUST pass through these fields, unchanged, to the invoked plugin, as defined in section 3.
119
120
120
121
**Required keys:**
121
122
-`type` (string): Matches the name of the CNI plugin binary on disk. Must not contain characters disallowed in file paths for the system (e.g. / or \\).
@@ -146,48 +147,61 @@ Plugins that consume any of these configuration keys should respect their intend
146
147
Plugins may define additional fields that they accept and may generate an error if called with unknown fields. Runtimes must preserve unknown fields in plugin configuration objects when transforming for execution.
CNI runtimes, plugins, and network configurations may support multiple CNI specification versions independently. Plugins indicate their set of supported versions through the VERSION command, while network configurations indicate their set of supported versions through the `cniVersion` and `cniVersions` fields.
0 commit comments