49 lines
1.3 KiB
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
|
|
}
|
|
}
|
|
]
|
|
}
|