mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #89644 from saschagrunert/runtime-spec
Update runtime-spec to v1.0.2
This commit is contained in:
commit
3c082d5a60
3
go.mod
3
go.mod
@ -80,6 +80,7 @@ require (
|
|||||||
github.com/onsi/gomega v1.7.0
|
github.com/onsi/gomega v1.7.0
|
||||||
github.com/opencontainers/go-digest v1.0.0-rc1
|
github.com/opencontainers/go-digest v1.0.0-rc1
|
||||||
github.com/opencontainers/runc v1.0.0-rc10
|
github.com/opencontainers/runc v1.0.0-rc10
|
||||||
|
github.com/opencontainers/runtime-spec v1.0.2 // indirect
|
||||||
github.com/opencontainers/selinux v1.3.3
|
github.com/opencontainers/selinux v1.3.3
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/pmezard/go-difflib v1.0.0
|
github.com/pmezard/go-difflib v1.0.0
|
||||||
@ -347,7 +348,7 @@ replace (
|
|||||||
github.com/opencontainers/go-digest => github.com/opencontainers/go-digest v1.0.0-rc1
|
github.com/opencontainers/go-digest => github.com/opencontainers/go-digest v1.0.0-rc1
|
||||||
github.com/opencontainers/image-spec => github.com/opencontainers/image-spec v1.0.1
|
github.com/opencontainers/image-spec => github.com/opencontainers/image-spec v1.0.1
|
||||||
github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.0-rc10
|
github.com/opencontainers/runc => github.com/opencontainers/runc v1.0.0-rc10
|
||||||
github.com/opencontainers/runtime-spec => github.com/opencontainers/runtime-spec v1.0.1
|
github.com/opencontainers/runtime-spec => github.com/opencontainers/runtime-spec v1.0.2
|
||||||
github.com/opencontainers/selinux => github.com/opencontainers/selinux v1.3.3
|
github.com/opencontainers/selinux => github.com/opencontainers/selinux v1.3.3
|
||||||
github.com/pelletier/go-toml => github.com/pelletier/go-toml v1.2.0
|
github.com/pelletier/go-toml => github.com/pelletier/go-toml v1.2.0
|
||||||
github.com/peterbourgon/diskv => github.com/peterbourgon/diskv v2.0.1+incompatible
|
github.com/peterbourgon/diskv => github.com/peterbourgon/diskv v2.0.1+incompatible
|
||||||
|
4
go.sum
4
go.sum
@ -349,8 +349,8 @@ github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVo
|
|||||||
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
|
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
|
||||||
github.com/opencontainers/runc v1.0.0-rc10 h1:AbmCEuSZXVflng0/cboQkpdEOeBsPMjz6tmq4Pv8MZw=
|
github.com/opencontainers/runc v1.0.0-rc10 h1:AbmCEuSZXVflng0/cboQkpdEOeBsPMjz6tmq4Pv8MZw=
|
||||||
github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
|
||||||
github.com/opencontainers/runtime-spec v1.0.1 h1:wY4pOY8fBdSIvs9+IDHC55thBuEulhzfSgKeC1yFvzQ=
|
github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
|
||||||
github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/selinux v1.3.3 h1:RX0wAeqtvVSYQcr017X3pFXPkLEtB6V4NjRD7gVQgg4=
|
github.com/opencontainers/selinux v1.3.3 h1:RX0wAeqtvVSYQcr017X3pFXPkLEtB6V4NjRD7gVQgg4=
|
||||||
github.com/opencontainers/selinux v1.3.3/go.mod h1:yTcKuYAh6R95iDpefGLQaPaRwJFwyzAJufJyiTt7s0g=
|
github.com/opencontainers/selinux v1.3.3/go.mod h1:yTcKuYAh6R95iDpefGLQaPaRwJFwyzAJufJyiTt7s0g=
|
||||||
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
|
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
|
||||||
|
147
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
147
vendor/github.com/opencontainers/runtime-spec/specs-go/config.go
generated
vendored
@ -25,6 +25,8 @@ type Spec struct {
|
|||||||
Solaris *Solaris `json:"solaris,omitempty" platform:"solaris"`
|
Solaris *Solaris `json:"solaris,omitempty" platform:"solaris"`
|
||||||
// Windows is platform-specific configuration for Windows based containers.
|
// Windows is platform-specific configuration for Windows based containers.
|
||||||
Windows *Windows `json:"windows,omitempty" platform:"windows"`
|
Windows *Windows `json:"windows,omitempty" platform:"windows"`
|
||||||
|
// VM specifies configuration for virtual-machine-based containers.
|
||||||
|
VM *VM `json:"vm,omitempty" platform:"vm"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process contains information to start a specific application inside the container.
|
// Process contains information to start a specific application inside the container.
|
||||||
@ -36,7 +38,9 @@ type Process struct {
|
|||||||
// User specifies user information for the process.
|
// User specifies user information for the process.
|
||||||
User User `json:"user"`
|
User User `json:"user"`
|
||||||
// Args specifies the binary and arguments for the application to execute.
|
// Args specifies the binary and arguments for the application to execute.
|
||||||
Args []string `json:"args"`
|
Args []string `json:"args,omitempty"`
|
||||||
|
// CommandLine specifies the full command line for the application to execute on Windows.
|
||||||
|
CommandLine string `json:"commandLine,omitempty" platform:"windows"`
|
||||||
// Env populates the process environment for the process.
|
// Env populates the process environment for the process.
|
||||||
Env []string `json:"env,omitempty"`
|
Env []string `json:"env,omitempty"`
|
||||||
// Cwd is the current working directory for the process and must be
|
// Cwd is the current working directory for the process and must be
|
||||||
@ -85,6 +89,8 @@ type User struct {
|
|||||||
UID uint32 `json:"uid" platform:"linux,solaris"`
|
UID uint32 `json:"uid" platform:"linux,solaris"`
|
||||||
// GID is the group id.
|
// GID is the group id.
|
||||||
GID uint32 `json:"gid" platform:"linux,solaris"`
|
GID uint32 `json:"gid" platform:"linux,solaris"`
|
||||||
|
// Umask is the umask for the init process.
|
||||||
|
Umask uint32 `json:"umask,omitempty" platform:"linux,solaris"`
|
||||||
// AdditionalGids are additional group ids set for the container's process.
|
// AdditionalGids are additional group ids set for the container's process.
|
||||||
AdditionalGids []uint32 `json:"additionalGids,omitempty" platform:"linux,solaris"`
|
AdditionalGids []uint32 `json:"additionalGids,omitempty" platform:"linux,solaris"`
|
||||||
// Username is the user name.
|
// Username is the user name.
|
||||||
@ -119,13 +125,26 @@ type Hook struct {
|
|||||||
Timeout *int `json:"timeout,omitempty"`
|
Timeout *int `json:"timeout,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hooks specifies a command that is run in the container at a particular event in the lifecycle of a container
|
||||||
// Hooks for container setup and teardown
|
// Hooks for container setup and teardown
|
||||||
type Hooks struct {
|
type Hooks struct {
|
||||||
// Prestart is a list of hooks to be run before the container process is executed.
|
// Prestart is Deprecated. Prestart is a list of hooks to be run before the container process is executed.
|
||||||
|
// It is called in the Runtime Namespace
|
||||||
Prestart []Hook `json:"prestart,omitempty"`
|
Prestart []Hook `json:"prestart,omitempty"`
|
||||||
|
// CreateRuntime is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called
|
||||||
|
// It is called in the Runtime Namespace
|
||||||
|
CreateRuntime []Hook `json:"createRuntime,omitempty"`
|
||||||
|
// CreateContainer is a list of hooks to be run after the container has been created but before pivot_root or any equivalent operation has been called
|
||||||
|
// It is called in the Container Namespace
|
||||||
|
CreateContainer []Hook `json:"createContainer,omitempty"`
|
||||||
|
// StartContainer is a list of hooks to be run after the start operation is called but before the container process is started
|
||||||
|
// It is called in the Container Namespace
|
||||||
|
StartContainer []Hook `json:"startContainer,omitempty"`
|
||||||
// Poststart is a list of hooks to be run after the container process is started.
|
// Poststart is a list of hooks to be run after the container process is started.
|
||||||
|
// It is called in the Runtime Namespace
|
||||||
Poststart []Hook `json:"poststart,omitempty"`
|
Poststart []Hook `json:"poststart,omitempty"`
|
||||||
// Poststop is a list of hooks to be run after the container process exits.
|
// Poststop is a list of hooks to be run after the container process exits.
|
||||||
|
// It is called in the Runtime Namespace
|
||||||
Poststop []Hook `json:"poststop,omitempty"`
|
Poststop []Hook `json:"poststop,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,9 +177,11 @@ type Linux struct {
|
|||||||
ReadonlyPaths []string `json:"readonlyPaths,omitempty"`
|
ReadonlyPaths []string `json:"readonlyPaths,omitempty"`
|
||||||
// MountLabel specifies the selinux context for the mounts in the container.
|
// MountLabel specifies the selinux context for the mounts in the container.
|
||||||
MountLabel string `json:"mountLabel,omitempty"`
|
MountLabel string `json:"mountLabel,omitempty"`
|
||||||
// IntelRdt contains Intel Resource Director Technology (RDT) information
|
// IntelRdt contains Intel Resource Director Technology (RDT) information for
|
||||||
// for handling resource constraints (e.g., L3 cache) for the container
|
// handling resource constraints (e.g., L3 cache, memory bandwidth) for the container
|
||||||
IntelRdt *LinuxIntelRdt `json:"intelRdt,omitempty"`
|
IntelRdt *LinuxIntelRdt `json:"intelRdt,omitempty"`
|
||||||
|
// Personality contains configuration for the Linux personality syscall
|
||||||
|
Personality *LinuxPersonality `json:"personality,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinuxNamespace is the configuration for a Linux namespace
|
// LinuxNamespace is the configuration for a Linux namespace
|
||||||
@ -179,25 +200,25 @@ const (
|
|||||||
// PIDNamespace for isolating process IDs
|
// PIDNamespace for isolating process IDs
|
||||||
PIDNamespace LinuxNamespaceType = "pid"
|
PIDNamespace LinuxNamespaceType = "pid"
|
||||||
// NetworkNamespace for isolating network devices, stacks, ports, etc
|
// NetworkNamespace for isolating network devices, stacks, ports, etc
|
||||||
NetworkNamespace = "network"
|
NetworkNamespace LinuxNamespaceType = "network"
|
||||||
// MountNamespace for isolating mount points
|
// MountNamespace for isolating mount points
|
||||||
MountNamespace = "mount"
|
MountNamespace LinuxNamespaceType = "mount"
|
||||||
// IPCNamespace for isolating System V IPC, POSIX message queues
|
// IPCNamespace for isolating System V IPC, POSIX message queues
|
||||||
IPCNamespace = "ipc"
|
IPCNamespace LinuxNamespaceType = "ipc"
|
||||||
// UTSNamespace for isolating hostname and NIS domain name
|
// UTSNamespace for isolating hostname and NIS domain name
|
||||||
UTSNamespace = "uts"
|
UTSNamespace LinuxNamespaceType = "uts"
|
||||||
// UserNamespace for isolating user and group IDs
|
// UserNamespace for isolating user and group IDs
|
||||||
UserNamespace = "user"
|
UserNamespace LinuxNamespaceType = "user"
|
||||||
// CgroupNamespace for isolating cgroup hierarchies
|
// CgroupNamespace for isolating cgroup hierarchies
|
||||||
CgroupNamespace = "cgroup"
|
CgroupNamespace LinuxNamespaceType = "cgroup"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LinuxIDMapping specifies UID/GID mappings
|
// LinuxIDMapping specifies UID/GID mappings
|
||||||
type LinuxIDMapping struct {
|
type LinuxIDMapping struct {
|
||||||
// HostID is the starting UID/GID on the host to be mapped to 'ContainerID'
|
|
||||||
HostID uint32 `json:"hostID"`
|
|
||||||
// ContainerID is the starting UID/GID in the container
|
// ContainerID is the starting UID/GID in the container
|
||||||
ContainerID uint32 `json:"containerID"`
|
ContainerID uint32 `json:"containerID"`
|
||||||
|
// HostID is the starting UID/GID on the host to be mapped to 'ContainerID'
|
||||||
|
HostID uint32 `json:"hostID"`
|
||||||
// Size is the number of IDs to be mapped
|
// Size is the number of IDs to be mapped
|
||||||
Size uint32 `json:"size"`
|
Size uint32 `json:"size"`
|
||||||
}
|
}
|
||||||
@ -215,6 +236,7 @@ type POSIXRlimit struct {
|
|||||||
// LinuxHugepageLimit structure corresponds to limiting kernel hugepages
|
// LinuxHugepageLimit structure corresponds to limiting kernel hugepages
|
||||||
type LinuxHugepageLimit struct {
|
type LinuxHugepageLimit struct {
|
||||||
// Pagesize is the hugepage size
|
// Pagesize is the hugepage size
|
||||||
|
// Format: "<size><unit-prefix>B' (e.g. 64KB, 2MB, 1GB, etc.)
|
||||||
Pagesize string `json:"pageSize"`
|
Pagesize string `json:"pageSize"`
|
||||||
// Limit is the limit of "hugepagesize" hugetlb usage
|
// Limit is the limit of "hugepagesize" hugetlb usage
|
||||||
Limit uint64 `json:"limit"`
|
Limit uint64 `json:"limit"`
|
||||||
@ -286,6 +308,8 @@ type LinuxMemory struct {
|
|||||||
Swappiness *uint64 `json:"swappiness,omitempty"`
|
Swappiness *uint64 `json:"swappiness,omitempty"`
|
||||||
// DisableOOMKiller disables the OOM killer for out of memory conditions
|
// DisableOOMKiller disables the OOM killer for out of memory conditions
|
||||||
DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"`
|
DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"`
|
||||||
|
// Enables hierarchical memory accounting
|
||||||
|
UseHierarchy *bool `json:"useHierarchy,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinuxCPU for Linux cgroup 'cpu' resource management
|
// LinuxCPU for Linux cgroup 'cpu' resource management
|
||||||
@ -320,6 +344,14 @@ type LinuxNetwork struct {
|
|||||||
Priorities []LinuxInterfacePriority `json:"priorities,omitempty"`
|
Priorities []LinuxInterfacePriority `json:"priorities,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LinuxRdma for Linux cgroup 'rdma' resource management (Linux 4.11)
|
||||||
|
type LinuxRdma struct {
|
||||||
|
// Maximum number of HCA handles that can be opened. Default is "no limit".
|
||||||
|
HcaHandles *uint32 `json:"hcaHandles,omitempty"`
|
||||||
|
// Maximum number of HCA objects that can be created. Default is "no limit".
|
||||||
|
HcaObjects *uint32 `json:"hcaObjects,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
// LinuxResources has container runtime resource constraints
|
// LinuxResources has container runtime resource constraints
|
||||||
type LinuxResources struct {
|
type LinuxResources struct {
|
||||||
// Devices configures the device whitelist.
|
// Devices configures the device whitelist.
|
||||||
@ -336,6 +368,10 @@ type LinuxResources struct {
|
|||||||
HugepageLimits []LinuxHugepageLimit `json:"hugepageLimits,omitempty"`
|
HugepageLimits []LinuxHugepageLimit `json:"hugepageLimits,omitempty"`
|
||||||
// Network restriction configuration
|
// Network restriction configuration
|
||||||
Network *LinuxNetwork `json:"network,omitempty"`
|
Network *LinuxNetwork `json:"network,omitempty"`
|
||||||
|
// Rdma resource restriction configuration.
|
||||||
|
// Limits are a set of key value pairs that define RDMA resource limits,
|
||||||
|
// where the key is device name and value is resource limits.
|
||||||
|
Rdma map[string]LinuxRdma `json:"rdma,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinuxDevice represents the mknod information for a Linux special device file
|
// LinuxDevice represents the mknod information for a Linux special device file
|
||||||
@ -370,6 +406,28 @@ type LinuxDeviceCgroup struct {
|
|||||||
Access string `json:"access,omitempty"`
|
Access string `json:"access,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LinuxPersonalityDomain refers to a personality domain.
|
||||||
|
type LinuxPersonalityDomain string
|
||||||
|
|
||||||
|
// LinuxPersonalityFlag refers to an additional personality flag. None are currently defined.
|
||||||
|
type LinuxPersonalityFlag string
|
||||||
|
|
||||||
|
// Define domain and flags for Personality
|
||||||
|
const (
|
||||||
|
// PerLinux is the standard Linux personality
|
||||||
|
PerLinux LinuxPersonalityDomain = "LINUX"
|
||||||
|
// PerLinux32 sets personality to 32 bit
|
||||||
|
PerLinux32 LinuxPersonalityDomain = "LINUX32"
|
||||||
|
)
|
||||||
|
|
||||||
|
// LinuxPersonality represents the Linux personality syscall input
|
||||||
|
type LinuxPersonality struct {
|
||||||
|
// Domain for the personality
|
||||||
|
Domain LinuxPersonalityDomain `json:"domain"`
|
||||||
|
// Additional flags
|
||||||
|
Flags []LinuxPersonalityFlag `json:"flags,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
// Solaris contains platform-specific configuration for Solaris application containers.
|
// Solaris contains platform-specific configuration for Solaris application containers.
|
||||||
type Solaris struct {
|
type Solaris struct {
|
||||||
// SMF FMRI which should go "online" before we start the container process.
|
// SMF FMRI which should go "online" before we start the container process.
|
||||||
@ -419,6 +477,8 @@ type SolarisAnet struct {
|
|||||||
type Windows struct {
|
type Windows struct {
|
||||||
// LayerFolders contains a list of absolute paths to directories containing image layers.
|
// LayerFolders contains a list of absolute paths to directories containing image layers.
|
||||||
LayerFolders []string `json:"layerFolders"`
|
LayerFolders []string `json:"layerFolders"`
|
||||||
|
// Devices are the list of devices to be mapped into the container.
|
||||||
|
Devices []WindowsDevice `json:"devices,omitempty"`
|
||||||
// Resources contains information for handling resource constraints for the container.
|
// Resources contains information for handling resource constraints for the container.
|
||||||
Resources *WindowsResources `json:"resources,omitempty"`
|
Resources *WindowsResources `json:"resources,omitempty"`
|
||||||
// CredentialSpec contains a JSON object describing a group Managed Service Account (gMSA) specification.
|
// CredentialSpec contains a JSON object describing a group Managed Service Account (gMSA) specification.
|
||||||
@ -433,6 +493,14 @@ type Windows struct {
|
|||||||
Network *WindowsNetwork `json:"network,omitempty"`
|
Network *WindowsNetwork `json:"network,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WindowsDevice represents information about a host device to be mapped into the container.
|
||||||
|
type WindowsDevice struct {
|
||||||
|
// Device identifier: interface class GUID, etc.
|
||||||
|
ID string `json:"id"`
|
||||||
|
// Device identifier type: "class", etc.
|
||||||
|
IDType string `json:"idType"`
|
||||||
|
}
|
||||||
|
|
||||||
// WindowsResources has container runtime resource constraints for containers running on Windows.
|
// WindowsResources has container runtime resource constraints for containers running on Windows.
|
||||||
type WindowsResources struct {
|
type WindowsResources struct {
|
||||||
// Memory restriction configuration.
|
// Memory restriction configuration.
|
||||||
@ -479,6 +547,8 @@ type WindowsNetwork struct {
|
|||||||
DNSSearchList []string `json:"DNSSearchList,omitempty"`
|
DNSSearchList []string `json:"DNSSearchList,omitempty"`
|
||||||
// Name (ID) of the container that we will share with the network stack.
|
// Name (ID) of the container that we will share with the network stack.
|
||||||
NetworkSharedContainerName string `json:"networkSharedContainerName,omitempty"`
|
NetworkSharedContainerName string `json:"networkSharedContainerName,omitempty"`
|
||||||
|
// name (ID) of the network namespace that will be used for the container.
|
||||||
|
NetworkNamespace string `json:"networkNamespace,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// WindowsHyperV contains information for configuring a container to run with Hyper-V isolation.
|
// WindowsHyperV contains information for configuring a container to run with Hyper-V isolation.
|
||||||
@ -487,16 +557,56 @@ type WindowsHyperV struct {
|
|||||||
UtilityVMPath string `json:"utilityVMPath,omitempty"`
|
UtilityVMPath string `json:"utilityVMPath,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// VM contains information for virtual-machine-based containers.
|
||||||
|
type VM struct {
|
||||||
|
// Hypervisor specifies hypervisor-related configuration for virtual-machine-based containers.
|
||||||
|
Hypervisor VMHypervisor `json:"hypervisor,omitempty"`
|
||||||
|
// Kernel specifies kernel-related configuration for virtual-machine-based containers.
|
||||||
|
Kernel VMKernel `json:"kernel"`
|
||||||
|
// Image specifies guest image related configuration for virtual-machine-based containers.
|
||||||
|
Image VMImage `json:"image,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// VMHypervisor contains information about the hypervisor to use for a virtual machine.
|
||||||
|
type VMHypervisor struct {
|
||||||
|
// Path is the host path to the hypervisor used to manage the virtual machine.
|
||||||
|
Path string `json:"path"`
|
||||||
|
// Parameters specifies parameters to pass to the hypervisor.
|
||||||
|
Parameters []string `json:"parameters,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// VMKernel contains information about the kernel to use for a virtual machine.
|
||||||
|
type VMKernel struct {
|
||||||
|
// Path is the host path to the kernel used to boot the virtual machine.
|
||||||
|
Path string `json:"path"`
|
||||||
|
// Parameters specifies parameters to pass to the kernel.
|
||||||
|
Parameters []string `json:"parameters,omitempty"`
|
||||||
|
// InitRD is the host path to an initial ramdisk to be used by the kernel.
|
||||||
|
InitRD string `json:"initrd,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// VMImage contains information about the virtual machine root image.
|
||||||
|
type VMImage struct {
|
||||||
|
// Path is the host path to the root image that the VM kernel would boot into.
|
||||||
|
Path string `json:"path"`
|
||||||
|
// Format is the root image format type (e.g. "qcow2", "raw", "vhd", etc).
|
||||||
|
Format string `json:"format"`
|
||||||
|
}
|
||||||
|
|
||||||
// LinuxSeccomp represents syscall restrictions
|
// LinuxSeccomp represents syscall restrictions
|
||||||
type LinuxSeccomp struct {
|
type LinuxSeccomp struct {
|
||||||
DefaultAction LinuxSeccompAction `json:"defaultAction"`
|
DefaultAction LinuxSeccompAction `json:"defaultAction"`
|
||||||
Architectures []Arch `json:"architectures,omitempty"`
|
Architectures []Arch `json:"architectures,omitempty"`
|
||||||
|
Flags []LinuxSeccompFlag `json:"flags,omitempty"`
|
||||||
Syscalls []LinuxSyscall `json:"syscalls,omitempty"`
|
Syscalls []LinuxSyscall `json:"syscalls,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Arch used for additional architectures
|
// Arch used for additional architectures
|
||||||
type Arch string
|
type Arch string
|
||||||
|
|
||||||
|
// LinuxSeccompFlag is a flag to pass to seccomp(2).
|
||||||
|
type LinuxSeccompFlag string
|
||||||
|
|
||||||
// Additional architectures permitted to be used for system calls
|
// Additional architectures permitted to be used for system calls
|
||||||
// By default only the native architecture of the kernel is permitted
|
// By default only the native architecture of the kernel is permitted
|
||||||
const (
|
const (
|
||||||
@ -530,6 +640,7 @@ const (
|
|||||||
ActErrno LinuxSeccompAction = "SCMP_ACT_ERRNO"
|
ActErrno LinuxSeccompAction = "SCMP_ACT_ERRNO"
|
||||||
ActTrace LinuxSeccompAction = "SCMP_ACT_TRACE"
|
ActTrace LinuxSeccompAction = "SCMP_ACT_TRACE"
|
||||||
ActAllow LinuxSeccompAction = "SCMP_ACT_ALLOW"
|
ActAllow LinuxSeccompAction = "SCMP_ACT_ALLOW"
|
||||||
|
ActLog LinuxSeccompAction = "SCMP_ACT_LOG"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LinuxSeccompOperator used to match syscall arguments in Seccomp
|
// LinuxSeccompOperator used to match syscall arguments in Seccomp
|
||||||
@ -561,10 +672,18 @@ type LinuxSyscall struct {
|
|||||||
Args []LinuxSeccompArg `json:"args,omitempty"`
|
Args []LinuxSeccompArg `json:"args,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinuxIntelRdt has container runtime resource constraints
|
// LinuxIntelRdt has container runtime resource constraints for Intel RDT
|
||||||
// for Intel RDT/CAT which introduced in Linux 4.10 kernel
|
// CAT and MBA features which introduced in Linux 4.10 and 4.12 kernel
|
||||||
type LinuxIntelRdt struct {
|
type LinuxIntelRdt struct {
|
||||||
|
// The identity for RDT Class of Service
|
||||||
|
ClosID string `json:"closID,omitempty"`
|
||||||
// The schema for L3 cache id and capacity bitmask (CBM)
|
// The schema for L3 cache id and capacity bitmask (CBM)
|
||||||
// Format: "L3:<cache_id0>=<cbm0>;<cache_id1>=<cbm1>;..."
|
// Format: "L3:<cache_id0>=<cbm0>;<cache_id1>=<cbm1>;..."
|
||||||
L3CacheSchema string `json:"l3CacheSchema,omitempty"`
|
L3CacheSchema string `json:"l3CacheSchema,omitempty"`
|
||||||
|
|
||||||
|
// The schema of memory bandwidth per L3 cache id
|
||||||
|
// Format: "MB:<cache_id0>=bandwidth0;<cache_id1>=bandwidth1;..."
|
||||||
|
// The unit of memory bandwidth is specified in "percentages" by
|
||||||
|
// default, and in "MBps" if MBA Software Controller is enabled.
|
||||||
|
MemBwSchema string `json:"memBwSchema,omitempty"`
|
||||||
}
|
}
|
||||||
|
2
vendor/github.com/opencontainers/runtime-spec/specs-go/version.go
generated
vendored
2
vendor/github.com/opencontainers/runtime-spec/specs-go/version.go
generated
vendored
@ -8,7 +8,7 @@ const (
|
|||||||
// VersionMinor is for functionality in a backwards-compatible manner
|
// VersionMinor is for functionality in a backwards-compatible manner
|
||||||
VersionMinor = 0
|
VersionMinor = 0
|
||||||
// VersionPatch is for backwards-compatible bug fixes
|
// VersionPatch is for backwards-compatible bug fixes
|
||||||
VersionPatch = 1
|
VersionPatch = 2
|
||||||
|
|
||||||
// VersionDev indicates development branch. Releases will be empty string.
|
// VersionDev indicates development branch. Releases will be empty string.
|
||||||
VersionDev = ""
|
VersionDev = ""
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -574,7 +574,7 @@ github.com/opencontainers/runc/libcontainer/system
|
|||||||
github.com/opencontainers/runc/libcontainer/user
|
github.com/opencontainers/runc/libcontainer/user
|
||||||
github.com/opencontainers/runc/libcontainer/utils
|
github.com/opencontainers/runc/libcontainer/utils
|
||||||
github.com/opencontainers/runc/types
|
github.com/opencontainers/runc/types
|
||||||
# github.com/opencontainers/runtime-spec v1.0.1 => github.com/opencontainers/runtime-spec v1.0.1
|
# github.com/opencontainers/runtime-spec v1.0.2 => github.com/opencontainers/runtime-spec v1.0.2
|
||||||
github.com/opencontainers/runtime-spec/specs-go
|
github.com/opencontainers/runtime-spec/specs-go
|
||||||
# github.com/opencontainers/selinux v1.3.3 => github.com/opencontainers/selinux v1.3.3
|
# github.com/opencontainers/selinux v1.3.3 => github.com/opencontainers/selinux v1.3.3
|
||||||
github.com/opencontainers/selinux/go-selinux
|
github.com/opencontainers/selinux/go-selinux
|
||||||
|
Loading…
Reference in New Issue
Block a user