Refactor the packaging so that subcommands can depend on the common functionality without getting the executable artifacts.
216 lines
4.6 KiB
JSON
216 lines
4.6 KiB
JSON
{
|
|
"$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"
|
|
]
|
|
}
|