156 lines
3.5 KiB
JSON
156 lines
3.5 KiB
JSON
{
|
|
"protocol": "jarvis.skill.v1",
|
|
"id": "dockge.compose",
|
|
"name": "Dockge Stack Control",
|
|
"version": "1.0.0",
|
|
"description": "Steuert Dockge-verwaltete Compose-Stacks direkt über deren Stack-Verzeichnis und Docker Compose. Nutzt bewusst nicht Dockges instabile interne Socket-API.",
|
|
"runtime": {
|
|
"type": "process",
|
|
"command": "python3",
|
|
"args": [
|
|
"main.py"
|
|
],
|
|
"timeout_ms": 120000,
|
|
"env_from": [
|
|
"DOCKGE_STACKS_DIR",
|
|
"DOCKGE_ALLOWED_STACKS"
|
|
]
|
|
},
|
|
"permissions": {
|
|
"system_exec": true
|
|
},
|
|
"actions": [
|
|
{
|
|
"name": "list_stacks",
|
|
"description": "Listet Dockge-Stack-Verzeichnisse und deren Compose-Dateien.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stacks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"stacks",
|
|
"count"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "stack_status",
|
|
"description": "Liest den Docker-Compose-Status eines Dockge-Stacks.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stack": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stack"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "start_stack",
|
|
"description": "Startet/deployed einen erlaubten Dockge-Stack mit docker compose up -d.",
|
|
"mutates": true,
|
|
"requires_confirmation": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stack": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stack"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "stop_stack",
|
|
"description": "Stoppt einen erlaubten Dockge-Stack.",
|
|
"mutates": true,
|
|
"requires_confirmation": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stack": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stack"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "restart_stack",
|
|
"description": "Startet einen erlaubten Dockge-Stack neu.",
|
|
"mutates": true,
|
|
"requires_confirmation": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stack": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stack"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "update_stack",
|
|
"description": "Pullt Images eines erlaubten Dockge-Stacks und deployed ihn anschließend neu.",
|
|
"mutates": true,
|
|
"requires_confirmation": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"stack": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"stack"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
]
|
|
}
|