blob: f5c5d5d5c27ea75df235a8abd8819364e03415ec [file] [log] [blame]
{
"additionalProperties": false,
"definitions": {
"cliInfo": {
"required": [
"url",
"kind",
"contentHash"
],
"properties": {
"url": {
"type": "string",
"description": "URL for the binary CLI."
},
"contentHash": {
"items": {
"$ref": "#/definitions/hash"
},
"minItems": 1,
"type": "array",
"description": "List of hashes for the binary CLI that are described in the URL property."
},
"kind": {
"enum": [
"executable",
"zip"
],
"type": "string",
"description": "The format of the CLI."
}
},
"additionalProperties": false,
"type": "object",
"description": "Schema for adding a supported CLI to your package."
},
"hash": {
"required": [
"algo",
"value"
],
"properties": {
"algo": {
"enum": [
"sha256"
],
"type": "string",
"description": "The algorithm used to compute the hash."
},
"value": {
"type": "string",
"description": "The value of the hash."
}
},
"additionalProperties": false,
"type": "object",
"description": "CLI validation."
}
},
"properties": {
"assets": {
"properties": {
"uris": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"description": "This is a mapping of aliases to HTTP resources. The aliases enumerated here are available during resolution of the marathon.json.mustache file."
},
"container": {
"properties": {
"docker": {
"additionalProperties": {
"type": "string"
},
"type": "object"
}
},
"additionalProperties": false,
"type": "object",
"description": "This is a mapping of aliases to Docker images. The aliases enumerated here are available during resolution of marathon.json.mustache file."
}
},
"additionalProperties": false,
"type": "object",
"description": "Object that enumerates all of the required package assets."
},
"images": {
"properties": {
"icon-small": {
"description": "PNG icon URL, preferably 48 by 48 pixels.",
"type": "string"
},
"icon-large": {
"description": "PNG icon URL, preferably 256 by 256 pixels.",
"type": "string"
},
"screenshots": {
"items": {
"description": "PNG screen URL, preferably 1024 by 1024 pixels.",
"type": "string"
},
"type": "array"
},
"icon-medium": {
"description": "PNG icon URL, preferably 128 by 128 pixels.",
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"description": "Images used by DC/OS to display the package."
},
"cli": {
"required": [
"binaries"
],
"properties": {
"binaries": {
"minProperties": 1,
"properties": {
"linux": {
"required": [
"x86-64"
],
"properties": {
"x86-64": {
"$ref": "#/definitions/cliInfo"
}
},
"additionalProperties": false,
"type": "object",
"description": "Schema for the Linux CLI."
},
"windows": {
"required": [
"x86-64"
],
"properties": {
"x86-64": {
"$ref": "#/definitions/cliInfo"
}
},
"additionalProperties": false,
"type": "object",
"description": "Schema for the Windows CLI."
},
"darwin": {
"required": [
"x86-64"
],
"properties": {
"x86-64": {
"$ref": "#/definitions/cliInfo"
}
},
"additionalProperties": false,
"type": "object",
"description": "Schema for the MacOS (darwin) CLI."
}
},
"additionalProperties": false,
"type": "object",
"description": "Enumerates all of the available binaries in this package."
}
},
"additionalProperties": false,
"type": "object",
"description": "Object that describes all of the required externally hosted assets for this package."
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}