1
0
mirror of https://github.com/opencontainers/runtime-spec.git synced 2026-02-05 09:45:57 +01:00

Add features.md to formalize the runc features JSON

Add `features.md` and `features-linux.md`, to formalize the `runc features` JSON that was introduced in runc v1.1.0.

A runtime caller MAY use this JSON to detect the features implemented by the runtime.

The spec corresponds to https://github.com/opencontainers/runc/blob/v1.1.0/types/features/features.go
(opencontainers/runc PR 3296, opencontainers/runc PR 3310)

Differences since runc v1.1.0:
- Add `.linux.intelRdt.enabled` field
- Add `.linux.cgroup.rdma` field
- Add `.linux.seccomp.knownFlags` and `.linux.seccomp.supportedFlags` fields (Implemented in runc PR 3588)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
Akihiro Suda
2021-12-09 16:45:04 +09:00
parent 8a09257551
commit 689874fc76
12 changed files with 1033 additions and 6 deletions

103
schema/features-linux.json Normal file
View File

@@ -0,0 +1,103 @@
{
"linux": {
"description": "Linux platform-specific features",
"type": "object",
"properties": {
"namespaces": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/NamespaceType"
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"pattern": "^CAP_[A-Z_]+$"
}
},
"cgroup": {
"type": "object",
"properties": {
"v1": {
"type": "boolean"
},
"v2": {
"type": "boolean"
},
"systemd": {
"type": "boolean"
},
"systemdUser": {
"type": "boolean"
},
"rdma": {
"type": "boolean"
}
}
},
"seccomp": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"actions": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/SeccompAction"
}
},
"operators": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/SeccompOperators"
}
},
"archs": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/SeccompArch"
}
},
"knownFlags": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/SeccompFlag"
}
},
"supportedFlags": {
"type": "array",
"items": {
"$ref": "defs-linux.json#/definitions/SeccompFlag"
}
}
}
},
"apparmor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"selinux": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"intelRdt": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
}