test campaign #2: Phase 1 (app sweep + edge cases — navidrome HDD-bound, redeploy race PASS)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
-1
@@ -14,7 +14,19 @@ unblocked (ctrl v0.74.0 fixed the agent leak). Only code changes: trivial catalo
|
||||
- **Master safety net + DR source:** PBS backup `felhom-pbs:backup/ct/9201/2026-06-22T16:13:44Z`, success=true, crash-consistent; PBS verify shows the snapshot present.
|
||||
- **Leak-fix gate (the #1 unblock):** `/api/disks` lists felhom-flash/felhom-usb/local; `/api/host-metrics` returns `cpu_percent`; controller→agent idle sockets to `:8443` **flat at 2 before and after a 60-call burst**. Agent path fully working. **Gate to chaos/destructive phases: OPEN.**
|
||||
|
||||
## Phase 1 — Broader app sweep + edge cases — _in progress_
|
||||
## Phase 1 — Broader app sweep + edge cases — **PASS (with noted non-triggerables)**
|
||||
|
||||
| Check | Result | Evidence |
|
||||
|---|---|---|
|
||||
| Deploy navidrome (HDD-bound, Go) via GUI | PASS | GUI deploy → 3-step panel → `running/healthy` in 8s; `:4533` → HTTP 302 (serving); HDD binding `…/felhom-flash/userdata/media/music → /music` |
|
||||
| Pattern coverage | PASS (cited) | JVM=komga (healthy), Python+DB=immich/paperless (healthy), Go=navidrome/gitea, HDD-bound=navidrome/romm/immich, optional-config=romm |
|
||||
| Edge: rapid deploy→stop→redeploy race | PASS | stop → immediate update → `navidrome Up (healthy)`, `app.yaml deployed:true`, API `state=running deployed=true` — no stale button / no Deployed-flag race |
|
||||
| Edge: slow-DB-migration start_period | PASS (cited) | mealie deployed healthy (start_period 60s covers migration — no premature unhealthy flap; lesson #7) |
|
||||
| Edge: missing required config → graceful signal | PASS (cited #1) | campaign-1 glance: crash-loop with a clear logged error (`open /app/config/glance.yml: no such file`), controller marks it — not a silent hang |
|
||||
| Edge: mem-gate hard-block | PARTIAL | the deploy-page memory projection renders correctly (e.g. navidrome 4065→+50 MB / 11904); a RAM hard-block isn't naturally triggerable (no single catalog app's request > ~7.6 GB free without mass-filling RAM). Disk-headroom hard-refuse (`GetDockerVolumeHeadroom`) is tested in Phase 3/C4. |
|
||||
| Edge: Host()/port overlap | N/A (noted) | each catalog app has a unique subdomain by construction; an overlap isn't naturally producible without editing a template — not triggered |
|
||||
|
||||
navidrome left deployed (used as the drive-backed app for Phase-3 C6); removed at cleanup.
|
||||
## Phase 2 — Storage lifecycle (unblocked) — _pending_
|
||||
## Phase 3 — Break-and-recover chaos (C1–C8) — _pending_
|
||||
## Phase 4 — Backup/restore edge cases — _pending_
|
||||
|
||||
Reference in New Issue
Block a user