Files
git.stella-ops.org/docs/schemas/plugin-config.schema.json

49 lines
1.3 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schema.stella-ops.org/plugin-config/v1.json",
"title": "StellaOps Plugin Runtime Config",
"description": "Schema for plugin config.yaml files",
"type": "object",
"required": ["id"],
"properties": {
"id": {
"type": "string",
"description": "Plugin ID (must match manifest ID)",
"pattern": "^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*$"
},
"name": {
"type": "string",
"description": "Display name override"
},
"enabled": {
"type": "boolean",
"description": "Whether the plugin is enabled",
"default": true
},
"priority": {
"type": "integer",
"description": "Priority override",
"minimum": 0,
"maximum": 100
},
"config": {
"type": "object",
"description": "Plugin-specific runtime configuration. Supports environment variable substitution: ${VAR:-default}",
"additionalProperties": true
}
},
"examples": [
{
"id": "stellaops.router.tcp",
"name": "TCP Transport",
"enabled": true,
"priority": 50,
"config": {
"port": 5000,
"bindAddress": "${STELLAOPS_TCP_BIND:-0.0.0.0}",
"maxConnections": 1000
}
}
]
}