Phase 11: remote UX & network attach (0.11.0)
- Live remote-stack logs over a WebSocket proxied through the central app to
the agent (/ws/agent-logs/{agent}/{stack}); agent gains a WS log endpoint.
- Deploy to a remote host from the UI: host selector in the New Stack editor
and template dialog; templates instantiate onto an agent via the proxy.
- Network attach/detach: expandable inspect view per network with
connect/disconnect + container picker; GET /{id}/containers, POST connect/disconnect.
- Remove dead pages/Placeholder.tsx.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
ec7e3e706f
commit
1931500c24
@@ -6,7 +6,8 @@ as intuitive as Dockge, as capable as Portainer for Compose workflows.
|
||||
> **Status:** Phase 1 (Core) + Phase 2 (Volumes & GPU) + Phase 3 (Quality of
|
||||
> Life) + Phase 4 (Operations) + Phase 5 (Multi-host) + Phase 6 (Backup
|
||||
> destinations) + Phase 7 (Scheduled backups) + Phase 8 (Remote-stack backups)
|
||||
> + Phase 9 (Networks) + Phase 10 (iGPU passthrough) complete.
|
||||
> + Phase 9 (Networks) + Phase 10 (iGPU passthrough) + Phase 11 (Remote UX &
|
||||
> network attach) complete.
|
||||
|
||||
## What works today (Phase 1)
|
||||
|
||||
@@ -131,6 +132,19 @@ as intuitive as Dockge, as capable as Portainer for Compose workflows.
|
||||
resolve inside images, so the numeric GID is what actually grants access. The
|
||||
GPU selector shows the detected GIDs; removal cleans them (and `LIBVA_DRIVER_NAME`).
|
||||
|
||||
### Phase 11 — Remote UX & network attach
|
||||
|
||||
- **Live remote logs**: remote-stack logs now stream over a WebSocket proxied
|
||||
through the central app to the agent (`/ws/agent-logs/{agent}/{stack}`), instead
|
||||
of polling — same live viewer as local stacks.
|
||||
- **Deploy to a remote host from the UI**: the New Stack editor and the template
|
||||
dialog gained a *host* selector. Pick an online agent and the stack is created
|
||||
(and optionally started) on that host; you land on its remote detail page.
|
||||
- **Network attach/detach**: each network row on the Networks page expands to an
|
||||
inspect view listing connected containers, with admin controls to disconnect a
|
||||
container or connect any container on the host (`POST /api/networks/{id}/connect`
|
||||
/ `/disconnect`).
|
||||
|
||||
## Deploying an agent on another host
|
||||
|
||||
```bash
|
||||
@@ -292,6 +306,15 @@ DELETE /api/networks/{id} POST /api/networks/prune
|
||||
DELETE /api/stacks/{id}?delete_files= (stack delete, now surfaced in the UI)
|
||||
```
|
||||
|
||||
### Phase 11 endpoints
|
||||
|
||||
```
|
||||
WS /ws/agent-logs/{agent_id}/{stack_id} (live remote logs, proxied to the agent)
|
||||
GET /api/networks/{id}/containers POST /api/networks/{id}/connect | /disconnect
|
||||
POST /api/agents/{id}/stacks (create a stack on a remote host — now in the UI)
|
||||
POST /api/templates/{id}/instantiate {agent_id} (instantiate a template onto a remote host)
|
||||
```
|
||||
|
||||
## Security notes
|
||||
|
||||
- The Docker socket is only ever touched by the backend process; it is never
|
||||
|
||||
Reference in New Issue
Block a user