forked from opencontainers/runtime-spec
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request opencontainers#573 from jhowardmsft/jjh/addwindows
Add support for Windows based containers
- Loading branch information
Showing
9 changed files
with
271 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
# Windows-specific Container Configuration | ||
|
||
This document describes the schema for the [Windows-specific section](config.md#platform-specific-configuration) of the [container configuration](config.md). | ||
The Windows container specification uses APIs provided by the Windows Host Compute Service (HCS) to fulfill the spec. | ||
|
||
## Resources | ||
|
||
You can configure a container's resource limits via the OPTIONAL `resources` field of the Windows configuration. | ||
|
||
### Memory | ||
|
||
`memory` is an OPTIONAL configuration for the container's memory usage. | ||
|
||
The following parameters can be specified: | ||
|
||
* **`limit`** *(uint64, OPTIONAL)* - sets limit of memory usage in bytes. | ||
|
||
* **`reservation`** *(uint64, OPTIONAL)* - sets the guaranteed minimum amount of memory for a container in bytes. | ||
|
||
#### Example | ||
|
||
```json | ||
"windows": { | ||
"resources": { | ||
"memory": { | ||
"limit": 2097152, | ||
"reservation": 524288 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
### CPU | ||
|
||
`cpu` is an OPTIONAL configuration for the container's CPU usage. | ||
|
||
The following parameters can be specified: | ||
|
||
* **`count`** *(uint64, OPTIONAL)* - specifies the number of CPUs available to the container. | ||
|
||
* **`shares`** *(uint16, OPTIONAL)* - specifies the relative weight to other containers with CPU shares. The range is from 1 to 10000. | ||
|
||
* **`percent`** *(uint, OPTIONAL)* - specifies the percentage of available CPUs usable by the container. | ||
|
||
#### Example | ||
|
||
```json | ||
"windows": { | ||
"resources": { | ||
"cpu": { | ||
"percent": 50 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
### Storage | ||
|
||
`storage` is an OPTIONAL configuration for the container's storage usage. | ||
|
||
The following parameters can be specified: | ||
|
||
* **`iops`** *(uint64, OPTIONAL)* - specifies the maximum IO operations per second for the system drive of the container. | ||
|
||
* **`bps`** *(uint64, OPTIONAL)* - specifies the maximum bytes per second for the system drive of the container. | ||
|
||
* **`sandboxSize`** *(uint64, OPTIONAL)* - specifies the minimum size of the system drive in bytes. | ||
|
||
#### Example | ||
|
||
```json | ||
"windows": { | ||
"resources": { | ||
"storage": { | ||
"iops": 50 | ||
} | ||
} | ||
} | ||
``` | ||
|
||
### Network | ||
|
||
`network` is an OPTIONAL configuration for the container's network usage. | ||
|
||
The following parameters can be specified: | ||
|
||
* **`egressBandwidth`** *(uint64, OPTIONAL)* - specified the maximum egress bandwidth in bytes per second for the container. | ||
|
||
#### Example | ||
|
||
```json | ||
"windows": { | ||
"resources": { | ||
"network": { | ||
"egressBandwidth": 1048577 | ||
} | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
{ | ||
"windows": { | ||
"description": "Windows platform-specific configurations", | ||
"id": "https://opencontainers.org/schema/bundle/windows", | ||
"type": "object", | ||
"properties": { | ||
"resources": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources", | ||
"type": "object", | ||
"properties": { | ||
"memory": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/memory", | ||
"type": "object", | ||
"properties": { | ||
"limit": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/memory/limit", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
}, | ||
"reservation": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/memory/reservation", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
} | ||
} | ||
}, | ||
"cpu": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/cpu", | ||
"type": "object", | ||
"properties": { | ||
"count": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/cpu/count", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
}, | ||
"shares": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/cpu/shares", | ||
"$ref": "defs-windows.json#/definitions/cpuSharesPointer" | ||
}, | ||
"percent": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/cpu/percent", | ||
"$ref": "defs.json#/definitions/percentPointer" | ||
} | ||
} | ||
}, | ||
"storage": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/storage", | ||
"type": "object", | ||
"properties": { | ||
"iops": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/storage/iops", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
}, | ||
"bps": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/storage/bps", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
}, | ||
"sandboxSize": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/storage/sandboxSize", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
} | ||
} | ||
}, | ||
"network": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/network", | ||
"type": "object", | ||
"properties": { | ||
"egressBandwidth": { | ||
"id": "https://opencontainers.org/schema/bundle/windows/resources/network/egressBandwidth", | ||
"$ref": "defs.json#/definitions/uint64Pointer" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"definitions": { | ||
"cpuShares": { | ||
"description": "Relative weight to other containers with CPU Shares defined", | ||
"type": "integer", | ||
"minimum": 1, | ||
"maximum": 10000 | ||
}, | ||
"cpuSharesPointer": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "#/definitions/cpuShares" | ||
}, | ||
{ | ||
"type": "null" | ||
} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters