[taskboard] add direct host dispatch targets
This commit is contained in:
@@ -3,9 +3,10 @@
|
||||
"overview": [
|
||||
"OpenClaw is the ubuntu-local orchestration layer and Telegram HQ entrypoint.",
|
||||
"ZeroClaw provides host-scoped remote administration on grizzley and ice.",
|
||||
"The taskboard is the shared planning, dispatch, and audit surface across both families."
|
||||
"Direct SSH targets extend the taskboard to hosts that do not run an active Claw runtime.",
|
||||
"The taskboard is the shared planning, dispatch, and audit surface across all host-operation families."
|
||||
],
|
||||
"topologyDiagram": " Telegram / Forum Topics\n |\n +----------------+----------------+\n | |\n v v\n OpenClaw gateway ZeroClaw control\n ubuntu :18789 ice zeroclaw-admin\n local swarm topic router / paired gateway\n | |\n +------------+--------------------+\n |\n v\n shared taskboard UI\n |\n +-----------+-----------+\n | |\n v v\n OpenClaw agents ZeroClaw runtimes\n ubuntu-local swarm grizzley / ice\n",
|
||||
"topologyDiagram": " Telegram / Forum Topics\n |\n +----------------+----------------+\n | |\n v v\n OpenClaw gateway ZeroClaw control\n ubuntu :18789 ice zeroclaw-admin\n local swarm topic router / paired gateway\n | |\n +------------+--------------------+\n |\n v\n shared taskboard UI\n |\n +-----------------+---------------------+\n | | |\n v v v\n OpenClaw agents ZeroClaw runtimes Direct SSH targets\n ubuntu-local grizzley / ice pve / truenas / panda\n",
|
||||
"sections": [
|
||||
{
|
||||
"id": "openclaw",
|
||||
@@ -62,6 +63,31 @@
|
||||
"Grizzley is host-scoped and should not proxy other hosts directly.",
|
||||
"Ice still uses host-local secret and encryption state under /home/bear/.zeroclaw-admin."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "direct",
|
||||
"title": "Direct Host Targets",
|
||||
"summary": "SSH-backed host operations for systems that do not run an active OpenClaw or ZeroClaw runtime. These flows execute safe, built-in host checks and complete through the taskboard callback pipeline.",
|
||||
"runtime": [
|
||||
{ "label": "Execution", "value": "taskboard container on ubuntu" },
|
||||
{ "label": "Transport", "value": "SSH with mounted host key material" },
|
||||
{ "label": "Key Path", "value": "/root/.ssh/id_ed25519 inside container" }
|
||||
],
|
||||
"channels": [
|
||||
{ "label": "PVE", "value": "root@192.168.50.11:22" },
|
||||
{ "label": "TrueNAS", "value": "christopher@192.168.50.12:22" },
|
||||
{ "label": "Panda", "value": "bear@192.168.50.196:22" }
|
||||
],
|
||||
"configuredAgents": [
|
||||
"pve-direct",
|
||||
"truenas-direct",
|
||||
"panda-direct"
|
||||
],
|
||||
"diagram": "taskboard direct SSH\n -> pve : built-in Proxmox overview\n -> truenas : built-in storage overview\n -> panda : built-in SSH add-on overview\n\nEach direct task\n -> ssh safe built-in command\n -> capture stdout/stderr\n -> task callback -> completed result\n",
|
||||
"notes": [
|
||||
"Direct targets are for safe built-in actions, not arbitrary remote shell execution from the UI.",
|
||||
"Completion state is written through the same callback pipeline used by remote agent runtimes."
|
||||
]
|
||||
}
|
||||
],
|
||||
"zeroclawAgents": [
|
||||
@@ -117,5 +143,132 @@
|
||||
"description": "Posts JSON webhook payloads to the ice ZeroClaw runtime."
|
||||
}
|
||||
}
|
||||
],
|
||||
"directAgents": [
|
||||
{
|
||||
"slug": "pve-direct",
|
||||
"assignmentKey": "pve-direct",
|
||||
"aliases": ["pve-direct", "PVE Direct", "pve"],
|
||||
"name": "PVE Direct",
|
||||
"host": "pve",
|
||||
"role": "Direct Proxmox host checks over SSH",
|
||||
"runtimePath": "ssh://root@192.168.50.11:22",
|
||||
"configPath": null,
|
||||
"emoji": "P",
|
||||
"channels": [
|
||||
{ "label": "SSH", "value": "root@192.168.50.11:22" },
|
||||
{ "label": "Actions", "value": "proxmox-overview" }
|
||||
],
|
||||
"tools": ["ssh", "systemctl", "pct", "qm"],
|
||||
"capabilities": [
|
||||
"Verify core Proxmox services",
|
||||
"Enumerate running LXC containers",
|
||||
"Enumerate VM state"
|
||||
],
|
||||
"files": [],
|
||||
"notes": [
|
||||
"Uses direct SSH from the taskboard container.",
|
||||
"Designed for safe built-in verification flows."
|
||||
],
|
||||
"dispatch": {
|
||||
"method": "direct-ssh",
|
||||
"hostname": "192.168.50.11",
|
||||
"user": "root",
|
||||
"port": 22,
|
||||
"defaultAction": "proxmox-overview",
|
||||
"actions": [
|
||||
{
|
||||
"key": "proxmox-overview",
|
||||
"title": "Proxmox overview",
|
||||
"description": "Verify core services and list active LXCs and VMs.",
|
||||
"command": "systemctl is-active pve-cluster pvedaemon pveproxy pvestatd ssh && printf '\\nCTs:\\n' && pct list && printf '\\nVMs:\\n' && qm list",
|
||||
"successSummary": "PVE services and guest inventory collected"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"slug": "truenas-direct",
|
||||
"assignmentKey": "truenas-direct",
|
||||
"aliases": ["truenas-direct", "TrueNAS Direct", "truenas"],
|
||||
"name": "TrueNAS Direct",
|
||||
"host": "truenas",
|
||||
"role": "Direct storage checks over SSH",
|
||||
"runtimePath": "ssh://christopher@192.168.50.12:22",
|
||||
"configPath": null,
|
||||
"emoji": "T",
|
||||
"channels": [
|
||||
{ "label": "SSH", "value": "christopher@192.168.50.12:22" },
|
||||
{ "label": "Actions", "value": "storage-overview" }
|
||||
],
|
||||
"tools": ["ssh", "zfs", "systemctl", "midclt"],
|
||||
"capabilities": [
|
||||
"Verify storage datasets",
|
||||
"Check docker service state",
|
||||
"Report host identity and storage status"
|
||||
],
|
||||
"files": [],
|
||||
"notes": [
|
||||
"Runs safe read-only storage checks.",
|
||||
"Does not modify datasets or apps."
|
||||
],
|
||||
"dispatch": {
|
||||
"method": "direct-ssh",
|
||||
"hostname": "192.168.50.12",
|
||||
"user": "christopher",
|
||||
"port": 22,
|
||||
"defaultAction": "storage-overview",
|
||||
"actions": [
|
||||
{
|
||||
"key": "storage-overview",
|
||||
"title": "Storage overview",
|
||||
"description": "Report host identity, docker-app service state, and top-level ZFS datasets.",
|
||||
"command": "printf 'Host: '; hostname && printf '\\nDocker apps service:\\n' && systemctl is-active truenas-docker-apps.service || true && printf '\\nDatasets:\\n' && zfs list -o name,used,avail | head -n 12",
|
||||
"successSummary": "TrueNAS storage overview collected"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"slug": "panda-direct",
|
||||
"assignmentKey": "panda-direct",
|
||||
"aliases": ["panda-direct", "Panda Direct", "panda"],
|
||||
"name": "Panda Direct",
|
||||
"host": "panda",
|
||||
"role": "Direct SSH add-on checks for the Home Assistant host",
|
||||
"runtimePath": "ssh://bear@192.168.50.196:22",
|
||||
"configPath": null,
|
||||
"emoji": "H",
|
||||
"channels": [
|
||||
{ "label": "SSH", "value": "bear@192.168.50.196:22" },
|
||||
{ "label": "Actions", "value": "ssh-addon-overview" }
|
||||
],
|
||||
"tools": ["ssh", "hostname", "cat", "ls"],
|
||||
"capabilities": [
|
||||
"Verify SSH add-on shell reachability",
|
||||
"Report add-on OS state and mounted data files"
|
||||
],
|
||||
"files": [],
|
||||
"notes": [
|
||||
"Targets the Home Assistant SSH add-on shell, not a full host shell.",
|
||||
"Uses shell-safe inspection commands that work without supervisor API auth."
|
||||
],
|
||||
"dispatch": {
|
||||
"method": "direct-ssh",
|
||||
"hostname": "192.168.50.196",
|
||||
"user": "bear",
|
||||
"port": 22,
|
||||
"defaultAction": "ssh-addon-overview",
|
||||
"actions": [
|
||||
{
|
||||
"key": "ssh-addon-overview",
|
||||
"title": "SSH add-on overview",
|
||||
"description": "Report add-on shell identity, OS information, and mounted /data files.",
|
||||
"command": "printf 'Host: '; hostname && printf '\\nOS:\\n' && cat /etc/os-release && printf '\\nData dir:\\n' && ls -1 /data 2>/dev/null | head -n 10",
|
||||
"successSummary": "Panda SSH add-on overview collected"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -55,5 +55,44 @@
|
||||
"dispatchMethod": "zeroclaw-webhook",
|
||||
"reasoningEffort": "medium"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "direct-pve-check",
|
||||
"title": "PVE direct verification",
|
||||
"summary": "Run the built-in Proxmox overview action through the direct SSH target.",
|
||||
"family": "direct",
|
||||
"tags": ["host-ops", "service-check", "action:proxmox-overview"],
|
||||
"defaults": {
|
||||
"priority": "High",
|
||||
"dispatchMethod": "direct-ssh",
|
||||
"targetHost": "pve",
|
||||
"targetChannel": "root@192.168.50.11:22"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "direct-truenas-check",
|
||||
"title": "TrueNAS direct verification",
|
||||
"summary": "Run the built-in storage overview action through the direct SSH target.",
|
||||
"family": "direct",
|
||||
"tags": ["host-ops", "storage-check", "action:storage-overview"],
|
||||
"defaults": {
|
||||
"priority": "High",
|
||||
"dispatchMethod": "direct-ssh",
|
||||
"targetHost": "truenas",
|
||||
"targetChannel": "christopher@192.168.50.12:22"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "direct-panda-check",
|
||||
"title": "Panda direct verification",
|
||||
"summary": "Run the built-in SSH add-on overview action through the direct target.",
|
||||
"family": "direct",
|
||||
"tags": ["host-ops", "home-assistant", "action:ssh-addon-overview"],
|
||||
"defaults": {
|
||||
"priority": "High",
|
||||
"dispatchMethod": "direct-ssh",
|
||||
"targetHost": "panda",
|
||||
"targetChannel": "bear@192.168.50.196:22"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user