307 lines
11 KiB
JSON
307 lines
11 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/schema#",
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"app": {
|
|
"additionalProperties": false,
|
|
"definitions": {
|
|
"pathType": {
|
|
"pattern": "^(\\/?((\\.{2})|([a-z0-9\\-]*))($|\\/))*$",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"not": {
|
|
"allOf": [
|
|
{
|
|
"required": [
|
|
"cmd"
|
|
]
|
|
},
|
|
{
|
|
"required": [
|
|
"args"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"properties": {
|
|
"acceptedResourceRoles": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"args": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"backoffFactor": {
|
|
"minimum": 1.0,
|
|
"type": "number"
|
|
},
|
|
"backoffSeconds": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"cmd": {
|
|
"minLength": 1,
|
|
"type": "string"
|
|
},
|
|
"constraints": {},
|
|
"container": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"docker": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"forcePullImage": {
|
|
"type": "boolean"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"type": "string"
|
|
},
|
|
"parameters": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {},
|
|
"required": [
|
|
"key",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"portMappings": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"containerPort": {
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"hostPort": {
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"protocol": {
|
|
"type": "string"
|
|
},
|
|
"servicePort": {
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"privileged": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"image"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"volumes": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"containerPath": {
|
|
"type": "string"
|
|
},
|
|
"hostPath": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"cpus": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"dependencies": {
|
|
"items": {
|
|
"$ref": "#/definitions/pathType"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"disk": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"env": {
|
|
"patternProperties": {
|
|
".*": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"executor": {
|
|
"pattern": "^(|\\/\\/cmd|\\/?[^\\/]+(\\/[^\\/]+)*)$",
|
|
"type": "string"
|
|
},
|
|
"healthChecks": {
|
|
"items": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"gracePeriodSeconds": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"ignoreHttp1xx": {
|
|
"type": "boolean"
|
|
},
|
|
"intervalSeconds": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"maxConsecutiveFailures": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"portIndex": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"protocol": {
|
|
"type": "string"
|
|
},
|
|
"timeoutSeconds": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"pattern": "^(\\/?((\\.{2})|([a-z0-9][a-z0-9\\-]*[a-z0-9]+)|([a-z0-9]*))($|\\/))*$",
|
|
"type": "string"
|
|
},
|
|
"instances": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"labels": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"maxLaunchDelaySeconds": {
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"mem": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"ports": {
|
|
"items": {
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"requirePorts": {
|
|
"type": "boolean"
|
|
},
|
|
"storeUrls": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"upgradeStrategy": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"maximumOverCapacity": {
|
|
"maximum": 1.0,
|
|
"minimum": 0.0,
|
|
"type": "number"
|
|
},
|
|
"minimumHealthCapacity": {
|
|
"maximum": 1.0,
|
|
"minimum": 0.0,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"uris": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"user": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"properties": {
|
|
"apps": {
|
|
"items": {
|
|
"$ref": "#/definitions/app"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"dependencies": {
|
|
"$ref": "#/definitions/app/properties/dependencies"
|
|
},
|
|
"groups": {
|
|
"items": {
|
|
"$ref": "#"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"$ref": "#/definitions/app/properties/id"
|
|
},
|
|
"required": [
|
|
"id"
|
|
]
|
|
},
|
|
"type": "object"
|
|
}
|