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: RELEASES.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -43,9 +43,9 @@ Specifications have a variety of different timelines in their lifecycle.
43
43
44
44
* Pre-v1.0.0 specifications SHOULD release on a monthly cadence to garner feedback.
45
45
* Major specification releases MUST release at least three release candidates spaced a minimum of one week apart.
46
-
This means a major release like a v1.0.0 or v2.0.0 release will take 1 month at minimum: one week for rc1, one week for rc2, one week for rc3, and one week for the major release itself.
47
-
Maintainers SHOULD strive to make zero breaking changes during this cycle of release candidates and SHOULD restart the three-candidate count when a breaking change is introduced.
48
-
For example if a breaking change is introduced in v1.0.0-rc2 then the series would end with v1.0.0-rc4 and v1.0.0.
46
+
This means a major release like a v1.0.0 or v2.0.0 release will take 1 month at minimum: one week for rc1, one week for rc2, one week for rc3, and one week for the major release itself.
47
+
Maintainers SHOULD strive to make zero breaking changes during this cycle of release candidates and SHOULD restart the three-candidate count when a breaking change is introduced.
48
+
For example if a breaking change is introduced in v1.0.0-rc2 then the series would end with v1.0.0-rc4 and v1.0.0.
49
49
- Minor and patch releases SHOULD be made on an as-needed basis.
Copy file name to clipboardExpand all lines: config-linux.md
+46-65Lines changed: 46 additions & 65 deletions
Original file line number
Diff line number
Diff line change
@@ -115,12 +115,12 @@ The runtime may supply them however it likes (with [mknod][mknod.2], by bind mou
115
115
Each entry has the following structure:
116
116
117
117
***`type`***(string, REQUIRED)* - type of device: `c`, `b`, `u` or `p`.
118
-
More info in [mknod(1)][mknod.1].
118
+
More info in [mknod(1)][mknod.1].
119
119
***`path`***(string, REQUIRED)* - full path to device inside container.
120
-
If a [file][] already exists at `path` that does not match the requested device, the runtime MUST generate an error.
120
+
If a [file][] already exists at `path` that does not match the requested device, the runtime MUST generate an error.
121
121
***`major, minor`***(int64, REQUIRED unless `type` is `p`)* - [major, minor numbers][devices] for the device.
122
122
***`fileMode`***(uint32, OPTIONAL)* - file mode for the device.
123
-
You can also control access to devices [with cgroups](#device-whitelist).
123
+
You can also control access to devices [with cgroups](#device-whitelist).
124
124
***`uid`***(uint32, OPTIONAL)* - id of device owner.
125
125
***`gid`***(uint32, OPTIONAL)* - id of device group.
126
126
@@ -129,7 +129,7 @@ The same `type`, `major` and `minor` SHOULD NOT be used for multiple devices.
129
129
### Example
130
130
131
131
```json
132
-
"devices": [
132
+
"devices": [
133
133
{
134
134
"path": "/dev/fuse",
135
135
"type": "c",
@@ -194,18 +194,18 @@ Runtimes MAY attach the container process to additional cgroup controllers beyon
194
194
### Example
195
195
196
196
```json
197
-
"cgroupsPath": "/myRuntime/myContainer",
198
-
"resources": {
199
-
"memory": {
200
-
"limit": 100000,
201
-
"reservation": 200000
202
-
},
203
-
"devices": [
204
-
{
205
-
"allow": false,
206
-
"access": "rwm"
207
-
}
208
-
]
197
+
"cgroupsPath": "/myRuntime/myContainer",
198
+
"resources": {
199
+
"memory": {
200
+
"limit": 100000,
201
+
"reservation": 200000
202
+
},
203
+
"devices": [
204
+
{
205
+
"allow": false,
206
+
"access": "rwm"
207
+
}
208
+
]
209
209
}
210
210
```
211
211
@@ -218,16 +218,16 @@ Each entry has the following structure:
218
218
219
219
***`allow`***(boolean, REQUIRED)* - whether the entry is allowed or denied.
220
220
***`type`***(string, OPTIONAL)* - type of device: `a` (all), `c` (char), or `b` (block).
221
-
Unset values mean "all", mapping to `a`.
221
+
Unset values mean "all", mapping to `a`.
222
222
***`major, minor`***(int64, OPTIONAL)* - [major, minor numbers][devices] for the device.
223
-
Unset values mean "all", mapping to [`*` in the filesystem API][cgroup-v1-devices].
223
+
Unset values mean "all", mapping to [`*` in the filesystem API][cgroup-v1-devices].
224
224
***`access`***(string, OPTIONAL)* - cgroup permissions for device.
225
-
A composition of `r` (read), `w` (write), and `m` (mknod).
225
+
A composition of `r` (read), `w` (write), and `m` (mknod).
226
226
227
227
#### Example
228
228
229
229
```json
230
-
"devices": [
230
+
"devices": [
231
231
{
232
232
"allow": false,
233
233
"access": "rwm"
@@ -273,15 +273,10 @@ For more information, see the kernel cgroups documentation about [memory][cgroup
273
273
The following parameters can be specified to set up the controller:
274
274
275
275
***`limit`***(uint64, OPTIONAL)* - sets limit of memory usage in bytes
276
-
277
276
***`reservation`***(uint64, OPTIONAL)* - sets soft limit of memory usage in bytes
278
-
279
277
***`swap`***(uint64, OPTIONAL)* - sets limit of memory+Swap usage
280
-
281
278
***`kernel`***(uint64, OPTIONAL)* - sets hard limit for kernel memory
282
-
283
279
***`kernelTCP`***(uint64, OPTIONAL)* - sets hard limit in bytes for kernel TCP buffer memory
284
-
285
280
***`swappiness`***(uint64, OPTIONAL)* - sets swappiness parameter of vmscan (See sysctl's vm.swappiness)
286
281
287
282
#### Example
@@ -305,17 +300,11 @@ For more information, see the kernel cgroups documentation about [cpusets][cgrou
305
300
The following parameters can be specified to set up the controller:
306
301
307
302
***`shares`***(uint64, OPTIONAL)* - specifies a relative share of CPU time available to the tasks in a cgroup
308
-
309
303
***`quota`***(int64, OPTIONAL)* - specifies the total amount of time in microseconds for which all tasks in a cgroup can run during one period (as defined by **`period`** below)
310
-
311
304
***`period`***(uint64, OPTIONAL)* - specifies a period of time in microseconds for how regularly a cgroup's access to CPU resources should be reallocated (CFS scheduler only)
312
-
313
305
***`realtimeRuntime`***(int64, OPTIONAL)* - specifies a period of time in microseconds for the longest continuous period in which the tasks in a cgroup have access to CPU resources
314
-
315
306
***`realtimePeriod`***(uint64, OPTIONAL)* - same as **`period`** but applies to realtime scheduler only
316
-
317
307
***`cpus`***(string, OPTIONAL)* - list of CPUs the container will run in
318
-
319
308
***`mems`***(string, OPTIONAL)* - list of Memory Nodes the container will run in
320
309
321
310
#### Example
@@ -340,9 +329,7 @@ For more information, see the kernel cgroups documentation about [blkio][cgroup-
340
329
The following parameters can be specified to set up the controller:
341
330
342
331
***`blkioWeight`***(uint16, OPTIONAL)* - specifies per-cgroup weight. This is default weight of the group on all devices until and unless overridden by per-device rules.
343
-
344
332
***`blkioLeafWeight`***(uint16, OPTIONAL)* - equivalents of `blkioWeight` for the purpose of deciding how much weight tasks in the given cgroup has while competing with the cgroup's child cgroups.
345
-
346
333
***`blkioWeightDevice`***(array of objects, OPTIONAL)* - specifies the list of devices which will be bandwidth rate limited. The following parameters can be specified per-device:
347
334
***`major, minor`***(int64, REQUIRED)* - major, minor numbers for device. More info in [mknod(1)][mknod.1] man page.
348
335
***`weight`***(uint16, OPTIONAL)* - bandwidth rate for the device.
@@ -351,7 +338,7 @@ The following parameters can be specified to set up the controller:
351
338
You MUST specify at least one of `weight` or `leafWeight` in a given entry, and MAY specify both.
352
339
353
340
***`blkioThrottleReadBpsDevice`**, **`blkioThrottleWriteBpsDevice`**, **`blkioThrottleReadIOPSDevice`**, **`blkioThrottleWriteIOPSDevice`***(array of objects, OPTIONAL)* - specify the list of devices which will be IO rate limited.
354
-
The following parameters can be specified per-device:
341
+
The following parameters can be specified per-device:
355
342
***`major, minor`***(int64, REQUIRED)* - major, minor numbers for device. More info in [mknod(1)][mknod.1] man page.
356
343
***`rate`***(uint64, REQUIRED)* - IO rate limit for the device
357
344
@@ -400,13 +387,12 @@ For more information, see the kernel cgroups documentation about [HugeTLB][cgrou
***`limit`***(uint64, REQUIRED)* - limit in bytes of *hugepagesize* HugeTLB usage
405
391
406
392
#### Example
407
393
408
394
```json
409
-
"hugepageLimits": [
395
+
"hugepageLimits": [
410
396
{
411
397
"pageSize": "2MB",
412
398
"limit": 209715200
@@ -422,16 +408,15 @@ For more information, see the kernel cgroups documentations about [net\_cls cgro
422
408
The following parameters can be specified to set up the controller:
423
409
424
410
***`classID`***(uint32, OPTIONAL)* - is the network class identifier the cgroup's network packets will be tagged with
425
-
426
411
***`priorities`***(array of objects, OPTIONAL)* - specifies a list of objects of the priorities assigned to traffic originating from processes in the group and egressing the system on various interfaces.
427
-
The following parameters can be specified per-priority:
412
+
The following parameters can be specified per-priority:
428
413
***`name`***(string, REQUIRED)* - interface name in [runtime network namespace](glossary.md#runtime-namespace)
429
414
***`priority`***(uint32, REQUIRED)* - priority applied to the interface
430
415
431
416
#### Example
432
417
433
418
```json
434
-
"network": {
419
+
"network": {
435
420
"classID": 1048577,
436
421
"priorities": [
437
422
{
@@ -458,7 +443,7 @@ The following parameters can be specified to set up the controller:
458
443
#### Example
459
444
460
445
```json
461
-
"pids": {
446
+
"pids": {
462
447
"limit": 32771
463
448
}
464
449
```
@@ -499,7 +484,7 @@ For more information, see the [sysctl(8)][sysctl.8] man page.
499
484
### Example
500
485
501
486
```json
502
-
"sysctl": {
487
+
"sysctl": {
503
488
"net.ipv4.ip_forward": "1",
504
489
"net.core.somaxconn": "256"
505
490
}
@@ -549,7 +534,6 @@ The following parameters can be specified to set up seccomp:
549
534
550
535
***`names`***(array of strings, REQUIRED)* - the names of the syscalls.
551
536
`names` MUST contain at least one entry.
552
-
553
537
***`action`***(string, REQUIRED)* - the action for seccomp rules.
554
538
A valid list of constants as of libseccomp v2.3.2 is shown below.
555
539
@@ -564,11 +548,8 @@ The following parameters can be specified to set up seccomp:
564
548
Each entry has the following structure:
565
549
566
550
***`index`***(uint, REQUIRED)* - the index for syscall arguments in seccomp.
567
-
568
551
***`value`***(uint64, REQUIRED)* - the value for syscall arguments in seccomp.
569
-
570
552
***`valueTwo`***(uint64, REQUIRED)* - the value for syscall arguments in seccomp.
571
-
572
553
***`op`***(string, REQUIRED)* - the operator for syscall arguments in seccomp.
573
554
A valid list of constants as of libseccomp v2.3.2 is shown below.
574
555
@@ -583,29 +564,29 @@ The following parameters can be specified to set up seccomp:
583
564
### Example
584
565
585
566
```json
586
-
"seccomp": {
587
-
"defaultAction": "SCMP_ACT_ALLOW",
588
-
"architectures": [
589
-
"SCMP_ARCH_X86",
590
-
"SCMP_ARCH_X32"
591
-
],
592
-
"syscalls": [
593
-
{
594
-
"names": [
595
-
"getcwd",
596
-
"chmod"
597
-
],
598
-
"action": "SCMP_ACT_ERRNO"
599
-
}
600
-
]
601
-
}
567
+
"seccomp": {
568
+
"defaultAction": "SCMP_ACT_ALLOW",
569
+
"architectures": [
570
+
"SCMP_ARCH_X86",
571
+
"SCMP_ARCH_X32"
572
+
],
573
+
"syscalls": [
574
+
{
575
+
"names": [
576
+
"getcwd",
577
+
"chmod"
578
+
],
579
+
"action": "SCMP_ACT_ERRNO"
580
+
}
581
+
]
582
+
}
602
583
```
603
584
604
585
## <aname="configLinuxRootfsMountPropagation" />Rootfs Mount Propagation
605
586
606
587
**`rootfsPropagation`** (string, OPTIONAL) sets the rootfs's mount propagation.
607
-
Its value is either slave, private, shared or unbindable.
608
-
The [Shared Subtrees][sharedsubtree] article in the kernel documentation has more information about mount propagation.
588
+
Its value is either slave, private, shared or unbindable.
589
+
The [Shared Subtrees][sharedsubtree] article in the kernel documentation has more information about mount propagation.
609
590
610
591
### Example
611
592
@@ -616,7 +597,7 @@ The [Shared Subtrees][sharedsubtree] article in the kernel documentation has mor
616
597
## <aname="configLinuxMaskedPaths" />Masked Paths
617
598
618
599
**`maskedPaths`** (array of strings, OPTIONAL) will mask over the provided paths inside the container so that they cannot be read.
619
-
The values MUST be absolute paths in the [container namespace](glossary.md#container_namespace).
600
+
The values MUST be absolute paths in the [container namespace](glossary.md#container_namespace).
620
601
621
602
### Example
622
603
@@ -629,7 +610,7 @@ The values MUST be absolute paths in the [container namespace](glossary.md#conta
Copy file name to clipboardExpand all lines: config-solaris.md
+12-12Lines changed: 12 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -83,21 +83,21 @@ For additional information on properties, check the [zonecfg(1M)][zonecfg.1m_2]
83
83
***`linkname`***(string, OPTIONAL)* Specify a name for the automatically created VNIC datalink.
84
84
***`lowerLink`***(string, OPTIONAL)* Specify the link over which the VNIC will be created.
85
85
Mapped to `lower-link` in the [zonecfg(1M)][zonecfg.1m_2] man page.
86
-
***`allowedAddress`***(string, OPTIONAL)* The set of IP addresses that the container can use might be constrained by specifying the allowedAddress property.
87
-
If allowedAddress has not been specified, then they can use any IP address on the associated physical interface for the network resource.
88
-
Otherwise, when allowedAddress is specified, the container cannot use IP addresses that are not in the allowedAddress list for the physical address.
89
-
Mapped to `allowed-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
90
-
***`configureAllowedAddress`***(string, OPTIONAL)* If configureAllowedAddress is set to true, the addresses specified by allowedAddress are automatically configured on the interface each time the container starts.
91
-
When it is set to false, the allowedAddress will not be configured on container start.
92
-
Mapped to `configure-allowed-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
86
+
***`allowedAddress`***(string, OPTIONAL)* The set of IP addresses that the container can use might be constrained by specifying the `allowedAddress` property.
87
+
If `allowedAddress` has not been specified, then they can use any IP address on the associated physical interface for the network resource.
88
+
Otherwise, when `allowedAddress` is specified, the container cannot use IP addresses that are not in the `allowedAddress` list for the physical address.
89
+
Mapped to `allowed-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
90
+
***`configureAllowedAddress`***(string, OPTIONAL)* If `configureAllowedAddress` is set to true, the addresses specified by `allowedAddress` are automatically configured on the interface each time the container starts.
91
+
When it is set to false, the `allowedAddress` will not be configured on container start.
92
+
Mapped to `configure-allowed-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
93
93
***`defrouter`***(string, OPTIONAL)* The value for the OPTIONAL default router.
94
94
***`macAddress`***(string, OPTIONAL)* Set the VNIC's MAC addresses based on the specified value or keyword.
95
-
If not a keyword, it is interpreted as a unicast MAC address.
96
-
For a list of the supported keywords please refer to the [zonecfg(1M)][zonecfg.1m_2] man page of the respective Solaris release.
97
-
Mapped to `mac-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
95
+
If not a keyword, it is interpreted as a unicast MAC address.
96
+
For a list of the supported keywords please refer to the [zonecfg(1M)][zonecfg.1m_2] man page of the respective Solaris release.
97
+
Mapped to `mac-address` in the [zonecfg(1M)][zonecfg.1m_2] man page.
98
98
***`linkProtection`***(string, OPTIONAL)* Enables one or more types of link protection using comma-separated values.
99
-
See the protection property in dladm(8) for supported values in respective release of Solaris.
100
-
Mapped to `link-protection` in the [zonecfg(1M)][zonecfg.1m_2] man page.
99
+
See the protection property in dladm(8) for supported values in respective release of Solaris.
100
+
Mapped to `link-protection` in the [zonecfg(1M)][zonecfg.1m_2] man page.
Copy file name to clipboardExpand all lines: config-windows.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -34,9 +34,7 @@ The following parameters can be specified:
34
34
The following parameters can be specified:
35
35
36
36
***`count`***(uint64, OPTIONAL)* - specifies the number of CPUs available to the container.
37
-
38
37
***`shares`***(uint16, OPTIONAL)* - specifies the relative weight to other containers with CPU shares.
39
-
40
38
***`maximum`***(uint, OPTIONAL)* - specifies the portion of processor cycles that this container can use as a percentage times 100.
41
39
42
40
#### Example
@@ -58,9 +56,7 @@ The following parameters can be specified:
58
56
The following parameters can be specified:
59
57
60
58
***`iops`***(uint64, OPTIONAL)* - specifies the maximum IO operations per second for the system drive of the container.
61
-
62
59
***`bps`***(uint64, OPTIONAL)* - specifies the maximum bytes per second for the system drive of the container.
63
-
64
60
***`sandboxSize`***(uint64, OPTIONAL)* - specifies the minimum size of the system drive in bytes.
65
61
66
62
#### Example
@@ -142,11 +138,15 @@ You can indicate that a container should be started in an a mode where disk flus
142
138
143
139
## <aname="configWindowsHyperV" />HyperV
144
140
145
-
`hyperv` is an OPTIONAL field of the Windows configuration. If present, the container MUST be run with Hyper-V isolation. If omitted, the container MUST be run as a Windows Server container.
141
+
`hyperv` is an OPTIONAL field of the Windows configuration.
142
+
If present, the container MUST be run with Hyper-V isolation.
143
+
If omitted, the container MUST be run as a Windows Server container.
146
144
147
145
The following parameters can be specified:
148
146
149
-
***`utilityvmpath`***(string, OPTIONAL)* - specifies the path to the image used for the utility VM. This would be specified if using a base image which does not contain a utility VM image. If not supplied, the runtime will search the container filesystem layers from the bottom-most layer upwards, until it locates "UtilityVM", and default to that path.
147
+
***`utilityvmpath`***(string, OPTIONAL)* - specifies the path to the image used for the utility VM.
148
+
This would be specified if using a base image which does not contain a utility VM image.
149
+
If not supplied, the runtime will search the container filesystem layers from the bottom-most layer upwards, until it locates "UtilityVM", and default to that path.
150
150
151
151
***`sandboxpath`***(string, REQUIRED)* - specifies the root of the path to the sandbox to be used for the container.
152
152
@@ -159,4 +159,4 @@ The following parameters can be specified:
0 commit comments