{ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { "id": { "type": "string", "pattern": "^/?(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$" }, "cmd": { "type": "string" }, "args": { "type": "array", "items": { "type": "string" } }, "user": { "type": "string" }, "env": { "type": "object", "patternProperties": { ".*": { "type": "string" } } }, "instances": { "type": "integer", "minimum": 0 }, "cpus": { "type": "number", "minimum": 0 }, "mem": { "type": "number", "minimum": 0 }, "disk": { "type": "number", "minimum": 0 }, "executor": { "type": "string" }, "constraints": { }, "uris": { "type": "array", "items": { "type": "string" } }, "storeUrls": { "type": "array", "items": { "type": "string" } }, "ports": { "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 65535 } }, "requirePorts": { "type": "boolean" }, "backoffSeconds": { "type": "integer", "minimum": 0 }, "backoffFactor": { "type": "number", "minimum": 1.0 }, "container": { "type": "object", "properties": { "type": { "type": "string" }, "docker": { "type": "object", "properties": { "image": { "type": "string" }, "network": { "type": "string" }, "portMappings": { "type": "array", "items": { "type": "object", "properties": { "containerPort": { "type": "integer", "minimum": 0, "maximum": 65535 }, "hostPort": { "type": "integer", "minimum": 0, "maximum": 65535 }, "servicePort": { "type": "integer", "minimum": 0, "maximum": 65535 }, "protocol": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false, "required": [ "image" ] }, "volumes": { "type": "array", "items": { "type": "object", "properties": { "containerPath": { "type": "string" }, "hostPath": { "type": "string" }, "mode": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, "healthChecks": { "type": "array", "items": { "type": "object", "properties": { "protocol": { "type": "string" }, "command": { "type": "string" }, "path": { "type": "string" }, "portIndex": { "type": "integer", "minimum": 0 }, "gracePeriodSeconds": { "type": "integer", "minimum": 0 }, "intervalSeconds": { "type": "integer", "minimum": 0 }, "timeoutSeconds": { "type": "integer", "minimum": 0 }, "maxConsecutiveFailures": { "type": "integer", "minimum": 0 } }, "additionalProperties": false } }, "dependencies": { "type": "array", "items": { "type": "string", "pattern": "^/?(([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])\\.)*([a-z0-9]|[a-z0-9][a-z0-9\\-]*[a-z0-9])$" } }, "upgradeStrategy": { "type": "object", "properties": { "minimumHealthCapacity": { "type": "number", "minimum": 0.0, "maximum": 1.0 } }, "additionalProperties": false }, "labels": { "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false, "required": [ "id" ] }