1{
2 "description": "Open Container Initiative Runtime Specification Container Configuration Schema",
3 "$schema": "http://json-schema.org/draft-04/schema#",
4 "type": "object",
5 "properties": {
6 "ociVersion": {
7 "$ref": "defs.json#/definitions/ociVersion"
8 },
9 "hooks": {
10 "type": "object",
11 "properties": {
12 "prestart": {
13 "$ref": "defs.json#/definitions/ArrayOfHooks"
14 },
15 "createRuntime": {
16 "$ref": "defs.json#/definitions/ArrayOfHooks"
17 },
18 "createContainer": {
19 "$ref": "defs.json#/definitions/ArrayOfHooks"
20 },
21 "startContainer": {
22 "$ref": "defs.json#/definitions/ArrayOfHooks"
23 },
24 "poststart": {
25 "$ref": "defs.json#/definitions/ArrayOfHooks"
26 },
27 "poststop": {
28 "$ref": "defs.json#/definitions/ArrayOfHooks"
29 }
30 }
31 },
32 "annotations": {
33 "$ref": "defs.json#/definitions/annotations"
34 },
35 "hostname": {
36 "type": "string"
37 },
38 "domainname": {
39 "type": "string"
40 },
41 "mounts": {
42 "type": "array",
43 "items": {
44 "$ref": "defs.json#/definitions/Mount"
45 }
46 },
47 "root": {
48 "description": "Configures the container's root filesystem.",
49 "type": "object",
50 "required": [
51 "path"
52 ],
53 "properties": {
54 "path": {
55 "$ref": "defs.json#/definitions/FilePath"
56 },
57 "readonly": {
58 "type": "boolean"
59 }
60 }
61 },
62 "process": {
63 "type": "object",
64 "required": [
65 "cwd"
66 ],
67 "properties": {
68 "args": {
69 "$ref": "defs.json#/definitions/ArrayOfStrings"
70 },
71 "commandLine": {
72 "type": "string"
73 },
74 "consoleSize": {
75 "type": "object",
76 "required": [
77 "height",
78 "width"
79 ],
80 "properties": {
81 "height": {
82 "$ref": "defs.json#/definitions/uint64"
83 },
84 "width": {
85 "$ref": "defs.json#/definitions/uint64"
86 }
87 }
88 },
89 "cwd": {
90 "type": "string"
91 },
92 "env": {
93 "$ref": "defs.json#/definitions/Env"
94 },
95 "terminal": {
96 "type": "boolean"
97 },
98 "user": {
99 "type": "object",
100 "properties": {
101 "uid": {
102 "$ref": "defs.json#/definitions/UID"
103 },
104 "gid": {
105 "$ref": "defs.json#/definitions/GID"
106 },
107 "umask": {
108 "$ref": "defs.json#/definitions/Umask"
109 },
110 "additionalGids": {
111 "$ref": "defs.json#/definitions/ArrayOfGIDs"
112 },
113 "username": {
114 "type": "string"
115 }
116 }
117 },
118 "capabilities": {
119 "type": "object",
120 "properties": {
121 "bounding": {
122 "$ref": "defs.json#/definitions/ArrayOfStrings"
123 },
124 "permitted": {
125 "$ref": "defs.json#/definitions/ArrayOfStrings"
126 },
127 "effective": {
128 "$ref": "defs.json#/definitions/ArrayOfStrings"
129 },
130 "inheritable": {
131 "$ref": "defs.json#/definitions/ArrayOfStrings"
132 },
133 "ambient": {
134 "$ref": "defs.json#/definitions/ArrayOfStrings"
135 }
136 }
137 },
138 "apparmorProfile": {
139 "type": "string"
140 },
141 "oomScoreAdj": {
142 "type": "integer"
143 },
144 "selinuxLabel": {
145 "type": "string"
146 },
147 "ioPriority": {
148 "type": "object",
149 "required": [
150 "class"
151 ],
152 "properties": {
153 "class": {
154 "type": "string",
155 "enum": [
156 "IOPRIO_CLASS_RT",
157 "IOPRIO_CLASS_BE",
158 "IOPRIO_CLASS_IDLE"
159 ]
160 },
161 "priority": {
162 "$ref": "defs.json#/definitions/int32"
163 }
164 }
165 },
166 "noNewPrivileges": {
167 "type": "boolean"
168 },
169 "scheduler": {
170 "type": "object",
171 "required": [
172 "policy"
173 ],
174 "properties": {
175 "policy": {
176 "$ref": "defs-linux.json#/definitions/SchedulerPolicy"
177 },
178 "nice": {
179 "$ref": "defs.json#/definitions/int32"
180 },
181 "priority": {
182 "$ref": "defs.json#/definitions/int32"
183 },
184 "flags": {
185 "type": "array",
186 "items": {
187 "$ref": "defs-linux.json#/definitions/SchedulerFlag"
188 }
189 },
190 "runtime": {
191 "$ref": "defs.json#/definitions/uint64"
192 },
193 "deadline": {
194 "$ref": "defs.json#/definitions/uint64"
195 },
196 "period": {
197 "$ref": "defs.json#/definitions/uint64"
198 }
199 }
200 },
201 "rlimits": {
202 "type": "array",
203 "items": {
204 "type": "object",
205 "required": [
206 "type",
207 "soft",
208 "hard"
209 ],
210 "properties": {
211 "hard": {
212 "$ref": "defs.json#/definitions/uint64"
213 },
214 "soft": {
215 "$ref": "defs.json#/definitions/uint64"
216 },
217 "type": {
218 "type": "string",
219 "pattern": "^RLIMIT_[A-Z]+$"
220 }
221 }
222 }
223 }
224 }
225 },
226 "linux": {
227 "$ref": "config-linux.json#/linux"
228 },
229 "solaris": {
230 "$ref": "config-solaris.json#/solaris"
231 },
232 "windows": {
233 "$ref": "config-windows.json#/windows"
234 },
235 "vm": {
236 "$ref": "config-vm.json#/vm"
237 },
238 "zos": {
239 "$ref": "config-zos.json#/zos"
240 }
241 },
242 "required": [
243 "ociVersion"
244 ]
245}
View as plain text