blob: 9b1d73d46c49a9a51c3d2878f1464ea609cc8e53 [file] [log] [blame]
{
"$id": "https://fuchsia.dev/schema/src/sys/lib/cm_json/cmx_schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dev": {
"items": {
"examples": [
"class/wlanphy",
"class/wlanif",
"class/thermal"
],
"title": "Device directories to provide",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"facets": {
"title": "Extra information about this component",
"type": "object"
},
"include": {
"items": {
"examples": [
"syslog/client.shard.cmx"
],
"type": "string"
},
"type": "array"
},
"program": {
"additionalProperties": {
"type": "string"
},
"oneOf": [
{
"required": [
"binary"
]
},
{
"required": [
"data"
]
}
],
"properties": {
"args": {
"examples": [
"--verbose"
],
"items": {
"type": "string"
},
"minItems": 1,
"title": "Arguments to provide to an Elf binary",
"type": "array"
},
"binary": {
"examples": [
"bin/app"
],
"title": "Program entry point for an Elf binary",
"type": "string"
},
"data": {
"examples": [
"data/component"
],
"title": "Relative path for dart/flutter assets within /pkg/data",
"type": "string"
},
"env_vars": {
"examples": [
"RUST_BACKTRACE=1"
],
"items": {
"type": "string"
},
"minItems": 1,
"title": "Environment variables to provide to an Elf binary",
"type": "array"
}
},
"type": "object"
},
"runner": {
"examples": [
"flutter_jit_runner",
"flutter_aot_runner"
],
"title": "Runner required to launch the component",
"type": "string"
},
"sandbox": {
"additionalProperties": false,
"properties": {
"boot": {
"items": {
"examples": [
"log"
],
"title": "Paths within the boot package provided to the component",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"dev": {
"title": "Device directories to provide to the component",
"type": "array",
"uniqueItems": true
},
"features": {
"items": {
"enum": [
"build-info",
"config-data",
"deprecated-global-data",
"deprecated-global-hub",
"deprecated-global-tmp",
"deprecated-misc-storage",
"deprecated-shell",
"durable-data",
"factory-data",
"hub",
"isolated-cache-storage",
"isolated-persistent-storage",
"shell-commands",
"root-ssl-certificates",
"isolated-temp",
"vulkan",
"deprecated-ambient-replace-as-executable"
],
"title": "Specific environment features",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"pkgfs": {
"items": {
"examples": [
"packages"
],
"title": "Paths within pkgfs provided to the component",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"services": {
"items": {
"examples": [
"fuchsia.sys.Launcher",
"fuchsia.sys.Environment"
],
"title": "Services to provide",
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"system": {
"items": {
"allOf": [
{
"not": {
"pattern": "^/*data/"
}
},
{
"not": {
"pattern": "^/*data$"
}
},
{
"not": {
"pattern": "^/*deprecated-data/"
}
},
{
"not": {
"pattern": "^/*deprecated-data$"
}
}
],
"examples": [
"data/build"
],
"title": "Paths within the system package provided to the component",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
},
"type": "object"
}
},
"required": [
"program"
],
"type": "object"
}