{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://khadhroony.local/schemas/composition.config.schema.json", "title": "Khadhroony binary composition configuration", "type": "object", "additionalProperties": false, "required": [ "active_profile", "sources", "profiles" ], "properties": { "active_profile": { "$ref": "#/$defs/non_empty_string" }, "sources": { "$ref": "#/$defs/sources" }, "profiles": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/profile" } } }, "$defs": { "non_empty_string": { "type": "string", "minLength": 1 }, "app_section": { "type": "object", "additionalProperties": false, "required": [ "name", "environment" ], "properties": { "name": { "$ref": "#/$defs/non_empty_string" }, "environment": { "$ref": "#/$defs/non_empty_string" } } }, "demo": { "type": "object", "additionalProperties": false, "required": [ "live_demo_enabled", "trading_demo_enabled" ], "properties": { "live_demo_enabled": { "type": "boolean" }, "trading_demo_enabled": { "type": "boolean" } } }, "sources": { "type": "object", "additionalProperties": false, "required": [ "logging", "transport", "listeners", "store", "wallet", "execution" ], "properties": { "logging": { "$ref": "#/$defs/non_empty_string" }, "transport": { "$ref": "#/$defs/non_empty_string" }, "listeners": { "$ref": "#/$defs/non_empty_string" }, "store": { "$ref": "#/$defs/non_empty_string" }, "wallet": { "$ref": "#/$defs/non_empty_string" }, "execution": { "$ref": "#/$defs/non_empty_string" } } }, "profile": { "type": "object", "additionalProperties": false, "required": [ "name", "app", "demo" ], "properties": { "name": { "$ref": "#/$defs/non_empty_string" }, "app": { "$ref": "#/$defs/app_section" }, "demo": { "$ref": "#/$defs/demo" }, "logging_profile": { "$ref": "#/$defs/non_empty_string" }, "transport_profile": { "$ref": "#/$defs/non_empty_string" }, "listeners_profile": { "$ref": "#/$defs/non_empty_string" }, "store_profile": { "$ref": "#/$defs/non_empty_string" }, "wallet_profile": { "$ref": "#/$defs/non_empty_string" }, "execution_profile": { "$ref": "#/$defs/non_empty_string" } } } } }