2017-02-01 00:45:59 +00:00
|
|
|
{
|
|
|
|
"description": "Open Container Runtime Specification Container Configuration Schema",
|
|
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
|
|
"id": "https://opencontainers.org/schema/bundle",
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"ociVersion": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/ociVersion",
|
|
|
|
"$ref": "defs.json#/definitions/ociVersion"
|
|
|
|
},
|
|
|
|
"hooks": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/hooks",
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"prestart": {
|
|
|
|
"$ref": "defs.json#/definitions/ArrayOfHooks"
|
|
|
|
},
|
|
|
|
"poststart": {
|
|
|
|
"$ref": "defs.json#/definitions/ArrayOfHooks"
|
|
|
|
},
|
|
|
|
"poststop": {
|
|
|
|
"$ref": "defs.json#/definitions/ArrayOfHooks"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"annotations": {
|
|
|
|
"$ref": "defs.json#/definitions/annotations"
|
|
|
|
},
|
|
|
|
"hostname": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/hostname",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"mounts": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/mounts",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs.json#/definitions/Mount"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"platform": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/platform",
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"arch",
|
|
|
|
"os"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"arch": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/platform/arch",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"os": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/platform/os",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"root": {
|
2017-04-12 23:12:04 +00:00
|
|
|
"description": "Configures the container's root filesystem.",
|
2017-02-01 00:45:59 +00:00
|
|
|
"id": "https://opencontainers.org/schema/bundle/root",
|
|
|
|
"type": "object",
|
2017-04-12 23:12:04 +00:00
|
|
|
"required": [
|
|
|
|
"path"
|
|
|
|
],
|
2017-02-01 00:45:59 +00:00
|
|
|
"properties": {
|
|
|
|
"path": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/root/path",
|
|
|
|
"$ref": "defs.json#/definitions/FilePath"
|
|
|
|
},
|
|
|
|
"readonly": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/root/readonly",
|
|
|
|
"type": "boolean"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"process": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process",
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"cwd",
|
|
|
|
"args"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"args": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/args",
|
|
|
|
"$ref": "defs.json#/definitions/ArrayOfStrings"
|
|
|
|
},
|
2017-04-12 23:12:04 +00:00
|
|
|
"consoleSize": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/consoleSize",
|
|
|
|
"type": "object",
|
|
|
|
"required": [
|
|
|
|
"height",
|
|
|
|
"width"
|
|
|
|
],
|
|
|
|
"properties": {
|
|
|
|
"height": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/consoleSize/height",
|
|
|
|
"$ref": "defs.json#/definitions/uint64"
|
|
|
|
},
|
|
|
|
"width": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/consoleSize/width",
|
|
|
|
"$ref": "defs.json#/definitions/uint64"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2017-02-01 00:45:59 +00:00
|
|
|
"cwd": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/cwd",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"env": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/env",
|
|
|
|
"$ref": "defs.json#/definitions/Env"
|
|
|
|
},
|
|
|
|
"terminal": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/terminal",
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"user": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/user",
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"uid": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/user/uid",
|
|
|
|
"$ref": "defs.json#/definitions/UID"
|
|
|
|
},
|
|
|
|
"gid": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/user/gid",
|
|
|
|
"$ref": "defs.json#/definitions/GID"
|
|
|
|
},
|
|
|
|
"additionalGids": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/user/additionalGids",
|
|
|
|
"$ref": "defs.json#/definitions/ArrayOfGIDs"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"capabilities": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities",
|
2017-04-12 23:12:04 +00:00
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"bounding": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities/bounding",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs-linux.json#/definitions/Capability"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"permitted": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities/permitted",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs-linux.json#/definitions/Capability"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"effective": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities/effective",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs-linux.json#/definitions/Capability"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"inheritable": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities/inheritable",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs-linux.json#/definitions/Capability"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ambient": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/capabilities/ambient",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "defs-linux.json#/definitions/Capability"
|
|
|
|
}
|
|
|
|
}
|
2017-02-01 00:45:59 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"apparmorProfile": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/apparmorProfile",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"selinuxLabel": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/selinuxLabel",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"noNewPrivileges": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/process/linux/noNewPrivileges",
|
|
|
|
"type": "boolean"
|
|
|
|
},
|
|
|
|
"rlimits": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/linux/rlimits",
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/linux/rlimits/0",
|
|
|
|
"type": "object",
|
2017-04-12 23:12:04 +00:00
|
|
|
"required": [
|
|
|
|
"type",
|
|
|
|
"soft",
|
|
|
|
"hard"
|
|
|
|
],
|
2017-02-01 00:45:59 +00:00
|
|
|
"properties": {
|
|
|
|
"hard": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/linux/rlimits/0/hard",
|
|
|
|
"$ref": "defs.json#/definitions/uint64"
|
|
|
|
},
|
|
|
|
"soft": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/linux/rlimits/0/soft",
|
|
|
|
"$ref": "defs.json#/definitions/uint64"
|
|
|
|
},
|
|
|
|
"type": {
|
|
|
|
"id": "https://opencontainers.org/schema/bundle/linux/rlimits/0/type",
|
|
|
|
"type": "string",
|
|
|
|
"pattern": "^RLIMIT_[A-Z]+$"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"linux": {
|
|
|
|
"$ref": "config-linux.json#/linux"
|
|
|
|
},
|
|
|
|
"solaris": {
|
|
|
|
"$ref": "config-solaris.json#/solaris"
|
2017-04-12 23:12:04 +00:00
|
|
|
},
|
|
|
|
"windows": {
|
|
|
|
"$ref": "config-windows.json#/windows"
|
2017-02-01 00:45:59 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"required": [
|
|
|
|
"ociVersion",
|
|
|
|
"platform",
|
|
|
|
"process",
|
2017-04-12 23:12:04 +00:00
|
|
|
"root"
|
2017-02-01 00:45:59 +00:00
|
|
|
]
|
|
|
|
}
|