Youki · JSON Structure

Oci Runtime Defs Linux Structure

Type: Properties: 0
ContainersContainer RuntimeOCIRustCNCFCloud NativeKubernetes

OciRuntimeDefsLinux is a JSON Structure definition published by Youki. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

oci-runtime-defs-linux-structure.json Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/youki/refs/heads/main/json-structure/oci-runtime-defs-linux-structure.json",
  "name": "OciRuntimeDefsLinux",
  "definitions": {
    "PersonalityDomain": {
      "name": "PersonalityDomain",
      "type": "string",
      "enum": [
        "LINUX",
        "LINUX32"
      ]
    },
    "Personality": {
      "name": "Personality",
      "type": "object",
      "properties": {
        "domain": {
          "$ref": "#/definitions/PersonalityDomain"
        },
        "flags": {
          "$ref": "defs.json#/definitions/ArrayOfStrings"
        }
      }
    },
    "RootfsPropagation": {
      "name": "RootfsPropagation",
      "type": "string",
      "enum": [
        "private",
        "shared",
        "slave",
        "unbindable"
      ]
    },
    "SeccompArch": {
      "name": "SeccompArch",
      "type": "string",
      "enum": [
        "SCMP_ARCH_X86",
        "SCMP_ARCH_X86_64",
        "SCMP_ARCH_X32",
        "SCMP_ARCH_ARM",
        "SCMP_ARCH_AARCH64",
        "SCMP_ARCH_LOONGARCH64",
        "SCMP_ARCH_M68K",
        "SCMP_ARCH_MIPS",
        "SCMP_ARCH_MIPS64",
        "SCMP_ARCH_MIPS64N32",
        "SCMP_ARCH_MIPSEL",
        "SCMP_ARCH_MIPSEL64",
        "SCMP_ARCH_MIPSEL64N32",
        "SCMP_ARCH_PPC",
        "SCMP_ARCH_PPC64",
        "SCMP_ARCH_PPC64LE",
        "SCMP_ARCH_S390",
        "SCMP_ARCH_S390X",
        "SCMP_ARCH_SH",
        "SCMP_ARCH_SHEB",
        "SCMP_ARCH_PARISC",
        "SCMP_ARCH_PARISC64",
        "SCMP_ARCH_RISCV64"
      ]
    },
    "SeccompAction": {
      "name": "SeccompAction",
      "type": "string",
      "enum": [
        "SCMP_ACT_KILL",
        "SCMP_ACT_KILL_PROCESS",
        "SCMP_ACT_KILL_THREAD",
        "SCMP_ACT_TRAP",
        "SCMP_ACT_ERRNO",
        "SCMP_ACT_TRACE",
        "SCMP_ACT_ALLOW",
        "SCMP_ACT_LOG",
        "SCMP_ACT_NOTIFY"
      ]
    },
    "SeccompFlag": {
      "name": "SeccompFlag",
      "type": "string",
      "enum": [
        "SECCOMP_FILTER_FLAG_TSYNC",
        "SECCOMP_FILTER_FLAG_LOG",
        "SECCOMP_FILTER_FLAG_SPEC_ALLOW",
        "SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV"
      ]
    },
    "SeccompOperators": {
      "name": "SeccompOperators",
      "type": "string",
      "enum": [
        "SCMP_CMP_NE",
        "SCMP_CMP_LT",
        "SCMP_CMP_LE",
        "SCMP_CMP_EQ",
        "SCMP_CMP_GE",
        "SCMP_CMP_GT",
        "SCMP_CMP_MASKED_EQ"
      ]
    },
    "SyscallArg": {
      "name": "SyscallArg",
      "type": "object",
      "properties": {
        "index": {
          "$ref": "defs.json#/definitions/uint32"
        },
        "value": {
          "$ref": "defs.json#/definitions/uint64"
        },
        "valueTwo": {
          "$ref": "defs.json#/definitions/uint64"
        },
        "op": {
          "$ref": "#/definitions/SeccompOperators"
        }
      },
      "required": [
        "index",
        "value",
        "op"
      ]
    },
    "Syscall": {
      "name": "Syscall",
      "type": "object",
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "minItems": 1
        },
        "action": {
          "$ref": "#/definitions/SeccompAction"
        },
        "errnoRet": {
          "$ref": "defs.json#/definitions/uint32"
        },
        "args": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SyscallArg"
          }
        }
      },
      "required": [
        "names",
        "action"
      ]
    },
    "Major": {
      "name": "Major",
      "description": "major device number",
      "$ref": "defs.json#/definitions/int64"
    },
    "Minor": {
      "name": "Minor",
      "description": "minor device number",
      "$ref": "defs.json#/definitions/int64"
    },
    "FileType": {
      "name": "FileType",
      "description": "Type of a block or special character device",
      "type": "string",
      "pattern": "^[cbup]$"
    },
    "Device": {
      "name": "Device",
      "type": "object",
      "required": [
        "type",
        "path"
      ],
      "properties": {
        "type": {
          "$ref": "#/definitions/FileType"
        },
        "path": {
          "$ref": "defs.json#/definitions/FilePath"
        },
        "fileMode": {
          "$ref": "defs.json#/definitions/FileMode"
        },
        "major": {
          "$ref": "#/definitions/Major"
        },
        "minor": {
          "$ref": "#/definitions/Minor"
        },
        "uid": {
          "$ref": "defs.json#/definitions/UID"
        },
        "gid": {
          "$ref": "defs.json#/definitions/GID"
        }
      }
    },
    "NetDevice": {
      "name": "NetDevice",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "weight": {
      "name": "weight",
      "$ref": "defs.json#/definitions/uint16"
    },
    "blockIODevice": {
      "name": "blockIODevice",
      "type": "object",
      "properties": {
        "major": {
          "$ref": "#/definitions/Major"
        },
        "minor": {
          "$ref": "#/definitions/Minor"
        }
      },
      "required": [
        "major",
        "minor"
      ]
    },
    "blockIODeviceWeight": {
      "name": "blockIODeviceWeight",
      "type": "object",
      "allOf": [
        {
          "$ref": "#/definitions/blockIODevice"
        },
        {
          "type": "object",
          "properties": {
            "weight": {
              "$ref": "#/definitions/weight"
            },
            "leafWeight": {
              "$ref": "#/definitions/weight"
            }
          }
        }
      ]
    },
    "blockIODeviceThrottle": {
      "name": "blockIODeviceThrottle",
      "allOf": [
        {
          "$ref": "#/definitions/blockIODevice"
        },
        {
          "type": "object",
          "properties": {
            "rate": {
              "$ref": "defs.json#/definitions/uint64"
            }
          }
        }
      ]
    },
    "DeviceCgroup": {
      "name": "DeviceCgroup",
      "type": "object",
      "properties": {
        "allow": {
          "type": "boolean"
        },
        "type": {
          "type": "string"
        },
        "major": {
          "$ref": "#/definitions/Major"
        },
        "minor": {
          "$ref": "#/definitions/Minor"
        },
        "access": {
          "type": "string"
        }
      },
      "required": [
        "allow"
      ]
    },
    "MemoryPolicyMode": {
      "name": "MemoryPolicyMode",
      "type": "string",
      "enum": [
        "MPOL_DEFAULT",
        "MPOL_BIND",
        "MPOL_INTERLEAVE",
        "MPOL_WEIGHTED_INTERLEAVE",
        "MPOL_PREFERRED",
        "MPOL_PREFERRED_MANY",
        "MPOL_LOCAL"
      ]
    },
    "MemoryPolicyFlag": {
      "name": "MemoryPolicyFlag",
      "type": "string",
      "enum": [
        "MPOL_F_NUMA_BALANCING",
        "MPOL_F_RELATIVE_NODES",
        "MPOL_F_STATIC_NODES"
      ]
    },
    "NetworkInterfacePriority": {
      "name": "NetworkInterfacePriority",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "priority": {
          "$ref": "defs.json#/definitions/uint32"
        }
      },
      "required": [
        "name",
        "priority"
      ]
    },
    "Rdma": {
      "name": "Rdma",
      "type": "object",
      "properties": {
        "hcaHandles": {
          "$ref": "defs.json#/definitions/uint32"
        },
        "hcaObjects": {
          "$ref": "defs.json#/definitions/uint32"
        }
      }
    },
    "NamespaceType": {
      "name": "NamespaceType",
      "type": "string",
      "enum": [
        "mount",
        "pid",
        "network",
        "uts",
        "ipc",
        "user",
        "cgroup",
        "time"
      ]
    },
    "NamespaceReference": {
      "name": "NamespaceReference",
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/NamespaceType"
        },
        "path": {
          "$ref": "defs.json#/definitions/FilePath"
        }
      },
      "required": [
        "type"
      ]
    },
    "TimeOffsets": {
      "name": "TimeOffsets",
      "type": "object",
      "properties": {
        "secs": {
          "$ref": "defs.json#/definitions/int64"
        },
        "nanosecs": {
          "$ref": "defs.json#/definitions/uint32"
        }
      }
    },
    "SchedulerPolicy": {
      "name": "SchedulerPolicy",
      "type": "string",
      "enum": [
        "SCHED_OTHER",
        "SCHED_FIFO",
        "SCHED_RR",
        "SCHED_BATCH",
        "SCHED_ISO",
        "SCHED_IDLE",
        "SCHED_DEADLINE"
      ]
    },
    "SchedulerFlag": {
      "name": "SchedulerFlag",
      "type": "string",
      "enum": [
        "SCHED_FLAG_RESET_ON_FORK",
        "SCHED_FLAG_RECLAIM",
        "SCHED_FLAG_DL_OVERRUN",
        "SCHED_FLAG_KEEP_POLICY",
        "SCHED_FLAG_KEEP_PARAMS",
        "SCHED_FLAG_UTIL_CLAMP_MIN",
        "SCHED_FLAG_UTIL_CLAMP_MAX"
      ]
    }
  }
}