26 lines
1.4 KiB
JSON
26 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://bare-os.local/schemas/bare-os-hrpc-allowlist.schema.json",
|
|
"title": "BARE_OS_HRPC_ALLOWLIST_JSON",
|
|
"description": "Optional allowlist for stock ctx.bareOsHrpcRequest. Parsed by packages/bare-os-booter/lib/tools/bare-os-hrpc-allowlist.js. An empty allow set (empty array or all-falsy object) does not restrict routes. Stock built-in routes are versioned in packages/bare-os-booter/lib/tools/bare-os-hrpc-route-table.js (BARE_OS_HRPC_ROUTE_TABLE_SCHEMA_VERSION); kernel.capabilities echoes hrpcRouteTableSchemaVersion + hrpcStockRoutes. Default routes: kernel.ping, kernel.capabilities, vfs.readText, bare_os.echo, bare_os.disk_os_hints, bare_os.replication_operator_sketch, bare_os.replication_snapshot (see KERNEL_CONTRACT.md). /proc/bare_os/hrpc_allowlist_sketch.json schema 3 adds routeTableSchemaVersion.",
|
|
"oneOf": [
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[a-zA-Z0-9._-]{1,64}\\.[a-zA-Z0-9._-]{1,96}$|^[a-zA-Z0-9._*.-]{1,64}$",
|
|
"description": "service.method or wildcard token such as * or kernel.*"
|
|
},
|
|
"maxItems": 512
|
|
},
|
|
{
|
|
"type": "object",
|
|
"additionalProperties": { "type": "boolean" },
|
|
"propertyNames": {
|
|
"pattern": "^[a-zA-Z0-9._*.-]{1,160}$"
|
|
},
|
|
"maxProperties": 512
|
|
}
|
|
]
|
|
}
|