mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
go.mod: runtime-spec v1.1.0-rc.3
https://github.com/opencontainers/runtime-spec/releases/tag/v1.1.0-rc.3 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Spec conformance
|
# Spec conformance
|
||||||
|
|
||||||
This branch of runc implements the [OCI Runtime Spec v1.1.0-rc.2](https://github.com/opencontainers/runtime-spec/tree/v1.1.0-rc.2)
|
This branch of runc implements the [OCI Runtime Spec v1.1.0-rc.3](https://github.com/opencontainers/runtime-spec/tree/v1.1.0-rc.3)
|
||||||
for the `linux` platform.
|
for the `linux` platform.
|
||||||
|
|
||||||
The following features are not implemented yet:
|
The following features are not implemented yet:
|
||||||
@@ -13,6 +13,8 @@ v1.0.2 | `.linux.personality` | [#3126](https://github
|
|||||||
v1.1.0-rc.1 | `.linux.resources.cpu.burst` | [#3749](https://github.com/opencontainers/runc/pull/3749)
|
v1.1.0-rc.1 | `.linux.resources.cpu.burst` | [#3749](https://github.com/opencontainers/runc/pull/3749)
|
||||||
v1.1.0-rc.1 | `.[]mounts.uidMappings` | [#3717](https://github.com/opencontainers/runc/pull/3717)
|
v1.1.0-rc.1 | `.[]mounts.uidMappings` | [#3717](https://github.com/opencontainers/runc/pull/3717)
|
||||||
v1.1.0-rc.1 | `.[]mounts.gidMappings` | [#3717](https://github.com/opencontainers/runc/pull/3717)
|
v1.1.0-rc.1 | `.[]mounts.gidMappings` | [#3717](https://github.com/opencontainers/runc/pull/3717)
|
||||||
v1.1.0-rc.1 | `SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV` | TODO ([#3860](https://github.com/opencontainers/runc/issues/3860))
|
v1.1.0-rc.1 | `SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV` | [#3862](https://github.com/opencontainers/runc/pull/3862)
|
||||||
v1.1.0-rc.2 | time namespaces | TODO ([#2345](https://github.com/opencontainers/runc/issues/2345))
|
v1.1.0-rc.2 | time namespaces | [#3876](https://github.com/opencontainers/runc/pull/3876)
|
||||||
v1.1.0-rc.2 | rsvd hugetlb cgroup | TODO ([#3859](https://github.com/opencontainers/runc/issues/3859))
|
v1.1.0-rc.2 | rsvd hugetlb cgroup | TODO ([#3859](https://github.com/opencontainers/runc/issues/3859))
|
||||||
|
v1.1.0-rc.3 | `.process.scheduler` | TODO ([#3895](https://github.com/opencontainers/runc/issues/3895))
|
||||||
|
v1.1.0-rc.3 | `.process.ioPriority` | [#3783](https://github.com/opencontainers/runc/pull/3783)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ require (
|
|||||||
github.com/godbus/dbus/v5 v5.1.0
|
github.com/godbus/dbus/v5 v5.1.0
|
||||||
github.com/moby/sys/mountinfo v0.6.2
|
github.com/moby/sys/mountinfo v0.6.2
|
||||||
github.com/mrunalp/fileutils v0.5.0
|
github.com/mrunalp/fileutils v0.5.0
|
||||||
github.com/opencontainers/runtime-spec v1.1.0-rc.2
|
github.com/opencontainers/runtime-spec v1.1.0-rc.3
|
||||||
github.com/opencontainers/selinux v1.11.0
|
github.com/opencontainers/selinux v1.11.0
|
||||||
github.com/seccomp/libseccomp-golang v0.10.0
|
github.com/seccomp/libseccomp-golang v0.10.0
|
||||||
github.com/sirupsen/logrus v1.9.3
|
github.com/sirupsen/logrus v1.9.3
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vyg
|
|||||||
github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI=
|
github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI=
|
||||||
github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4=
|
github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4=
|
||||||
github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
|
github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
|
||||||
github.com/opencontainers/runtime-spec v1.1.0-rc.2 h1:ucBtEms2tamYYW/SvGpvq9yUN0NEVL6oyLEwDcTSrk8=
|
github.com/opencontainers/runtime-spec v1.1.0-rc.3 h1:l04uafi6kxByhbxev7OWiuUv0LZxEsYUfDWZ6bztAuU=
|
||||||
github.com/opencontainers/runtime-spec v1.1.0-rc.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
github.com/opencontainers/runtime-spec v1.1.0-rc.3/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
|
||||||
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
|
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
|
||||||
github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec=
|
github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
|||||||
+88
@@ -33,6 +33,34 @@ type Spec struct {
|
|||||||
ZOS *ZOS `json:"zos,omitempty" platform:"zos"`
|
ZOS *ZOS `json:"zos,omitempty" platform:"zos"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Scheduler represents the scheduling attributes for a process. It is based on
|
||||||
|
// the Linux sched_setattr(2) syscall.
|
||||||
|
type Scheduler struct {
|
||||||
|
// Policy represents the scheduling policy (e.g., SCHED_FIFO, SCHED_RR, SCHED_OTHER).
|
||||||
|
Policy LinuxSchedulerPolicy `json:"policy"`
|
||||||
|
|
||||||
|
// Nice is the nice value for the process, which affects its priority.
|
||||||
|
Nice int32 `json:"nice,omitempty"`
|
||||||
|
|
||||||
|
// Priority represents the static priority of the process.
|
||||||
|
Priority int32 `json:"priority,omitempty"`
|
||||||
|
|
||||||
|
// Flags is an array of scheduling flags.
|
||||||
|
Flags []LinuxSchedulerFlag `json:"flags,omitempty"`
|
||||||
|
|
||||||
|
// The following ones are used by the DEADLINE scheduler.
|
||||||
|
|
||||||
|
// Runtime is the amount of time in nanoseconds during which the process
|
||||||
|
// is allowed to run in a given period.
|
||||||
|
Runtime uint64 `json:"runtime,omitempty"`
|
||||||
|
|
||||||
|
// Deadline is the absolute deadline for the process to complete its execution.
|
||||||
|
Deadline uint64 `json:"deadline,omitempty"`
|
||||||
|
|
||||||
|
// Period is the length of the period in nanoseconds used for determining the process runtime.
|
||||||
|
Period uint64 `json:"period,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
// Process contains information to start a specific application inside the container.
|
// Process contains information to start a specific application inside the container.
|
||||||
type Process struct {
|
type Process struct {
|
||||||
// Terminal creates an interactive terminal for the container.
|
// Terminal creates an interactive terminal for the container.
|
||||||
@@ -60,8 +88,12 @@ type Process struct {
|
|||||||
ApparmorProfile string `json:"apparmorProfile,omitempty" platform:"linux"`
|
ApparmorProfile string `json:"apparmorProfile,omitempty" platform:"linux"`
|
||||||
// Specify an oom_score_adj for the container.
|
// Specify an oom_score_adj for the container.
|
||||||
OOMScoreAdj *int `json:"oomScoreAdj,omitempty" platform:"linux"`
|
OOMScoreAdj *int `json:"oomScoreAdj,omitempty" platform:"linux"`
|
||||||
|
// Scheduler specifies the scheduling attributes for a process
|
||||||
|
Scheduler *Scheduler `json:"scheduler,omitempty" platform:"linux"`
|
||||||
// SelinuxLabel specifies the selinux context that the container process is run as.
|
// SelinuxLabel specifies the selinux context that the container process is run as.
|
||||||
SelinuxLabel string `json:"selinuxLabel,omitempty" platform:"linux"`
|
SelinuxLabel string `json:"selinuxLabel,omitempty" platform:"linux"`
|
||||||
|
// IOPriority contains the I/O priority settings for the cgroup.
|
||||||
|
IOPriority *LinuxIOPriority `json:"ioPriority,omitempty" platform:"linux"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinuxCapabilities specifies the list of allowed capabilities that are kept for a process.
|
// LinuxCapabilities specifies the list of allowed capabilities that are kept for a process.
|
||||||
@@ -79,6 +111,22 @@ type LinuxCapabilities struct {
|
|||||||
Ambient []string `json:"ambient,omitempty" platform:"linux"`
|
Ambient []string `json:"ambient,omitempty" platform:"linux"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IOPriority represents I/O priority settings for the container's processes within the process group.
|
||||||
|
type LinuxIOPriority struct {
|
||||||
|
Class IOPriorityClass `json:"class"`
|
||||||
|
Priority int `json:"priority"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// IOPriorityClass represents an I/O scheduling class.
|
||||||
|
type IOPriorityClass string
|
||||||
|
|
||||||
|
// Possible values for IOPriorityClass.
|
||||||
|
const (
|
||||||
|
IOPRIO_CLASS_RT IOPriorityClass = "IOPRIO_CLASS_RT"
|
||||||
|
IOPRIO_CLASS_BE IOPriorityClass = "IOPRIO_CLASS_BE"
|
||||||
|
IOPRIO_CLASS_IDLE IOPriorityClass = "IOPRIO_CLASS_IDLE"
|
||||||
|
)
|
||||||
|
|
||||||
// Box specifies dimensions of a rectangle. Used for specifying the size of a console.
|
// Box specifies dimensions of a rectangle. Used for specifying the size of a console.
|
||||||
type Box struct {
|
type Box struct {
|
||||||
// Height is the vertical dimension of a box.
|
// Height is the vertical dimension of a box.
|
||||||
@@ -789,3 +837,43 @@ type ZOSDevice struct {
|
|||||||
// Gid of the device.
|
// Gid of the device.
|
||||||
GID *uint32 `json:"gid,omitempty"`
|
GID *uint32 `json:"gid,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LinuxSchedulerPolicy represents different scheduling policies used with the Linux Scheduler
|
||||||
|
type LinuxSchedulerPolicy string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// SchedOther is the default scheduling policy
|
||||||
|
SchedOther LinuxSchedulerPolicy = "SCHED_OTHER"
|
||||||
|
// SchedFIFO is the First-In-First-Out scheduling policy
|
||||||
|
SchedFIFO LinuxSchedulerPolicy = "SCHED_FIFO"
|
||||||
|
// SchedRR is the Round-Robin scheduling policy
|
||||||
|
SchedRR LinuxSchedulerPolicy = "SCHED_RR"
|
||||||
|
// SchedBatch is the Batch scheduling policy
|
||||||
|
SchedBatch LinuxSchedulerPolicy = "SCHED_BATCH"
|
||||||
|
// SchedISO is the Isolation scheduling policy
|
||||||
|
SchedISO LinuxSchedulerPolicy = "SCHED_ISO"
|
||||||
|
// SchedIdle is the Idle scheduling policy
|
||||||
|
SchedIdle LinuxSchedulerPolicy = "SCHED_IDLE"
|
||||||
|
// SchedDeadline is the Deadline scheduling policy
|
||||||
|
SchedDeadline LinuxSchedulerPolicy = "SCHED_DEADLINE"
|
||||||
|
)
|
||||||
|
|
||||||
|
// LinuxSchedulerFlag represents the flags used by the Linux Scheduler.
|
||||||
|
type LinuxSchedulerFlag string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// SchedFlagResetOnFork represents the reset on fork scheduling flag
|
||||||
|
SchedFlagResetOnFork LinuxSchedulerFlag = "SCHED_FLAG_RESET_ON_FORK"
|
||||||
|
// SchedFlagReclaim represents the reclaim scheduling flag
|
||||||
|
SchedFlagReclaim LinuxSchedulerFlag = "SCHED_FLAG_RECLAIM"
|
||||||
|
// SchedFlagDLOverrun represents the deadline overrun scheduling flag
|
||||||
|
SchedFlagDLOverrun LinuxSchedulerFlag = "SCHED_FLAG_DL_OVERRUN"
|
||||||
|
// SchedFlagKeepPolicy represents the keep policy scheduling flag
|
||||||
|
SchedFlagKeepPolicy LinuxSchedulerFlag = "SCHED_FLAG_KEEP_POLICY"
|
||||||
|
// SchedFlagKeepParams represents the keep parameters scheduling flag
|
||||||
|
SchedFlagKeepParams LinuxSchedulerFlag = "SCHED_FLAG_KEEP_PARAMS"
|
||||||
|
// SchedFlagUtilClampMin represents the utilization clamp minimum scheduling flag
|
||||||
|
SchedFlagUtilClampMin LinuxSchedulerFlag = "SCHED_FLAG_UTIL_CLAMP_MIN"
|
||||||
|
// SchedFlagUtilClampMin represents the utilization clamp maximum scheduling flag
|
||||||
|
SchedFlagUtilClampMax LinuxSchedulerFlag = "SCHED_FLAG_UTIL_CLAMP_MAX"
|
||||||
|
)
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ const (
|
|||||||
VersionPatch = 0
|
VersionPatch = 0
|
||||||
|
|
||||||
// VersionDev indicates development branch. Releases will be empty string.
|
// VersionDev indicates development branch. Releases will be empty string.
|
||||||
VersionDev = "-rc.2"
|
VersionDev = "-rc.3"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Version is the specification version that the package types support.
|
// Version is the specification version that the package types support.
|
||||||
|
|||||||
Vendored
+1
-1
@@ -36,7 +36,7 @@ github.com/moby/sys/mountinfo
|
|||||||
# github.com/mrunalp/fileutils v0.5.0
|
# github.com/mrunalp/fileutils v0.5.0
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
github.com/mrunalp/fileutils
|
github.com/mrunalp/fileutils
|
||||||
# github.com/opencontainers/runtime-spec v1.1.0-rc.2
|
# github.com/opencontainers/runtime-spec v1.1.0-rc.3
|
||||||
## explicit
|
## explicit
|
||||||
github.com/opencontainers/runtime-spec/specs-go
|
github.com/opencontainers/runtime-spec/specs-go
|
||||||
github.com/opencontainers/runtime-spec/specs-go/features
|
github.com/opencontainers/runtime-spec/specs-go/features
|
||||||
|
|||||||
Reference in New Issue
Block a user