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
This adds a section to describe VM based container configurations to be
used by OCI runtimes using hardware virtualization to provide another
layer of isolation.
As part of this section we define 3 entries:
- A virtual machine root image opbject. This is the guest image that
contains the virtual machine root filesystem. The container image will
be mounted on top of that filesystem.
- A virtual machine kernel object. This is the kernel that will boot
inside the virtual machine. The object describes the host kernel image
path, additional parameters and an optional guest initrd for the
kernel to use.
- A virtual machine hypervisor object. This is the hypervisor that will
manage the container virtual machine from the host. The object
describe a hypervisor binary path and some additional parameters.
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This section describes the schema for the [virtual-machine-specific section](config.md#platform-specific-configuration) of the [container configuration](config.md).
4
+
The virtual-machine container specification provides additional configuration for the hypervisor, kernel, and image.
5
+
6
+
## <aname="HypervisorObject" /> Hypervisor Object
7
+
8
+
**`hypervisor`** (object, OPTIONAL) specifies details of the hypervisor that manages the container virtual machine.
9
+
***`path`** (string, REQUIRED) path to the hypervisor binary that manages the container virtual machine.
10
+
This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
11
+
***`parameters`** (array of strings, OPTIONAL) specifies an array of parameters to pass to the hypervisor.
12
+
13
+
### Example
14
+
15
+
```json
16
+
"hypervisor": {
17
+
"path": "/path/to/vmm",
18
+
"parameters": ["opts1=foo", "opts2=bar"]
19
+
}
20
+
```
21
+
22
+
## <aname="KernelObject" /> Kernel Object
23
+
24
+
**`kernel`** (object, REQUIRED) specifies details of the kernel to boot the container virtual machine with.
25
+
***`path`** (string, REQUIRED) path to the kernel used to boot the container virtual machine.
26
+
This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
27
+
***`parameters`** (array of strings, OPTIONAL) specifies an array of parameters to pass to the kernel.
28
+
***`initrd`** (string, OPTIONAL) path to an initial ramdisk to be used by the container virtual machine.
29
+
This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
30
+
31
+
### Example
32
+
33
+
```json
34
+
"kernel": {
35
+
"path": "/path/to/vmlinuz",
36
+
"parameters": ["foo=bar", "hello world"],
37
+
"initrd": "/path/to/initrd.img"
38
+
}
39
+
```
40
+
41
+
## <aname="ImageObject" /> Image Object
42
+
43
+
**`image`** (object, OPTIONAL) specifies details of the image that contains the root filesystem for the container virtual machine.
44
+
***`path`** (string, REQUIRED) path to the container virtual machine root image.
45
+
This image contains the root filesystem that the virtual machine **`kernel`** will boot into, not to be confused with the container root filesystem itself. The latter, as specified by **`path`** from the [Root Configuration](config.md#Root-Configuration) section, will be mounted inside the virtual machine at a location chosen by the virtual-machine-based runtime.
46
+
This value MUST be an absolute path in the [runtime mount namespace](glossary.md#runtime-namespace).
0 commit comments