Stacks: remote stacks editable from the hub, .env editing, deploy diff, image update checks; a gone container says so

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Mitchell-Johnson
2026-09-19 16:42:54 -07:00
co-authored by Claude Fable 5.1
parent eddba4250b
commit 1d48267d90
7 changed files with 553 additions and 132 deletions
+11 -3
View File
@@ -213,9 +213,17 @@ something long in one, switch away and back, refresh — it's all still there.
and the compose labels stay exactly as deployed (verified: labels identical after a
redeploy). Save validates with `compose config` first, keeps the previous file as
`<file>.hamlab-bak`, and never deploys by itself. A stack deployed from another host
(Dockhand on `core` driving `grid` over tcp) has no file on that machine: listed
read-only, saying so — edit those from the machine that holds the file. Removing
containers, images and volumes is still absent.
(Dockhand on `core` driving `grid` over tcp) has no file on that machine, so the node
alone lists it read-only — but **the hub fills that in** (`hubStacks`): asked about a
node, it resolves the files on itself and runs compose here with `DOCKER_HOST` pointed
at the node's `tcp://…:2375`, the way it was deployed; the task runs on the hub and the
node's page follows it. Also per stack: every file it was deployed from (chips), its
**`.env`** (values masked until "Reveal and edit"; validated in place, put back if
compose objects), **what Deploy would change** (a line diff against the copy kept at the
last deploy from here, `<file>.hamlab-deployed`, else the copy the last save replaced;
`.env` values never shown), and **image update checks** — asked for, never polled, since
each is a registry request Docker Hub counts; remembered six hours. A save refuses a
file changed on disk meanwhile. Removing containers, images and volumes is still absent.
- **Skins** — 13 since 2026-09-19 (`themes.ts`: a palette is one `mk(…)` line): Dark,
Light, Cyberpunk, Retro, **HUD** (hairlines of cyan on near-black, corner ticks, thin
type), Nord, Gruvbox, Catppuccin + Latte, Dracula, Tokyo Night, Solarized Dark + Light;