menzelj and Claude Opus 4.8
a4e26f880a
Phase 9: network management + stack delete in UI (0.9.0)
...
- Networks: network_service (list w/ subnet/containers/in-use/owning-stack,
create bridge/macvlan/ipvlan/overlay + optional subnet/gateway/internal,
delete with default-network guard, prune) + routers/networks.py; real
Networks page replaces the placeholder.
- Fix: local stacks can now be deleted from the UI — Delete button on stack
detail (with optional keep-files-on-disk) and a trash action on stack cards,
via a shared ConfirmDialog. (Backend DELETE existed; no UI surfaced it.)
Verified: py_compile, frontend tsc build, live network list smoke test
(defaults flagged, compose nets + in-use detected); main 104 routes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-07 22:37:30 +00:00
menzelj and Claude Opus 4.8
5cd55382ed
Phase 8: back up & restore remote (agent) stacks (0.8.0)
...
- Agent: GET /agent/stacks/{id}/backup + POST /agent/stacks/restore (reuse
backup_service). backup_service gains backup_basename/backup_filename helpers.
- Main proxy streams agent <-> main <-> destination (creds stay central):
agent_service download_to_file/upload_file; routers/agents.py backup download,
backup/push, restore upload, restore-from.
- Schedules: BackupSchedule.agent_id; schedule_service downloads from the agent
when set; per-host filename prefix isolates retention across hosts.
- Frontend: agents api backup/restore; BackupButton/RestoreButton agent-aware
(Backup on remote stack detail, Restore per host section); schedule form host
selector (local or an online agent) + host shown on schedule rows.
Rough-verified (per request): py_compile, frontend tsc build, image imports
(main 99 / agent 16 routes). Full live agent round-trip to be tested post-deploy.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-07 22:26:20 +00:00
menzelj and Claude Opus 4.8
59037f4287
Phase 5: multi-host agents (0.5.0)
...
- stackpilot-agent: slim token-guarded FastAPI (reuses compose_service) exposing
stack CRUD/lifecycle/logs + system info; same image, different CMD. agent/
Dockerfile + compose + .env.example.
- Central proxy: Agent model, agent_service (httpx ping/proxy + live status:
online/offline/unauthorized + hostname/last_seen), routers/agents.py
(CRUD + ping + proxied stacks/lifecycle/logs/system).
- Frontend: Settings → Remote hosts (add/check/remove, connectivity dot); Stacks
grouped by host; remote stack detail with lifecycle, live logs, compose/.env edit.
Verified end-to-end: agent+main on a shared network — register (good/bad token),
list/create/start/logs/delete remote stacks, offline detection (502).
Remote backup destinations (SFTP/S3) deferred.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-07 21:23:17 +00:00