feat(swarm): add decnet swarm deckies to list deployed shards by host

`swarm list` only shows enrolled workers — there was no way to see which
deckies are running and where. Adds GET /swarm/deckies on the controller
(joins DeckyShard with SwarmHost for name/address/status) plus the CLI
wrapper with --host / --state filters and --json.
This commit is contained in:
2026-04-18 21:10:07 -04:00
parent 4db9c7464c
commit 8914c27220
6 changed files with 233 additions and 0 deletions

View File

@@ -307,6 +307,20 @@ class SwarmHostView(BaseModel):
notes: Optional[str] = None
class DeckyShardView(BaseModel):
"""One decky → host mapping, enriched with the host's identity for display."""
decky_name: str
host_uuid: str
host_name: str
host_address: str
host_status: str
services: list[str]
state: str
last_error: Optional[str] = None
compose_hash: Optional[str] = None
updated_at: datetime
class SwarmDeployRequest(BaseModel):
config: DecnetConfig
dry_run: bool = False