{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://app.emissary.cadoles.com/spec.json", "title": "AppSpec", "description": "Emissary 'App' specification", "type": "object", "properties": { "apps": { "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "url": { "type": "string" }, "sha256sum": { "type": "string" }, "address": { "type": "string" }, "format": { "type": "string", "enum": [ "zip", "tar.gz" ] } }, "required": [ "url", "sha256sum", "address", "format" ], "additionalProperties": false } } }, "auth": { "type": "object", "properties": { "local": { "type": "object", "properties": { "key": { "type": ["object", "string"] }, "accounts": { "type": "array", "items": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "algo": { "type": "string" }, "claims": { "type": "object" } }, "required": [ "username", "password", "algo" ] } } }, "required": [ "key" ] } } } }, "required": [ "apps" ], "additionalProperties": false }