docs(#20): fresh-create path blocked by legacy indeedhub orchestrator special-cases; fix plan + .228 recovered
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8bdc857911
commit
9c45f718a2
@ -158,10 +158,32 @@ phases 2–6 (`dual-ecash-design.md`).
|
|||||||
**Up 4 days (NOT recreated)** — zero data/credential disruption. UI green:
|
**Up 4 days (NOT recreated)** — zero data/credential disruption. UI green:
|
||||||
frontend :7778 → 200, nostr-provider.js → 200, **/api/ → 200 (proves
|
frontend :7778 → 200, nostr-provider.js → 200, **/api/ → 200 (proves
|
||||||
network_aliases: frontend nginx `http://api:4000` resolved on indeedhub-net)**.
|
network_aliases: frontend nginx `http://api:4000` resolved on indeedhub-net)**.
|
||||||
Fleet healthy (36 containers, none down). **STILL TODO: fresh-create path** —
|
Fleet healthy (36 containers, none down).
|
||||||
adoption is NoOp so install_fresh (→ post_install hook + alias rendering on a NEW
|
**FRESH-CREATE PATH = BLOCKED (found live 2026-06-21).** Removed the stateless
|
||||||
container) was NOT exercised live; validate via destructive lifecycle
|
frontend + reinstalled to exercise install_fresh → it FAILED:
|
||||||
(uninstall→reinstall or recreate one member) on .228, then .198, then the gate.
|
`orchestrator stack install indeedhub failed at app indeedhub: IndeedHub
|
||||||
|
dependencies were not ready within 120s (indeedhub-api dependency DNS not ready)`,
|
||||||
|
and the frontend was left down. Recovered manually on .228 (podman run w/ alias
|
||||||
|
indeedhub on indeedhub-net; UI 200). ROOT CAUSE = hardcoded indeedhub orchestrator
|
||||||
|
special-cases that predate + conflict with the manifest path:
|
||||||
|
- prod_orchestrator `ensure_running` ~L1377: `app_id=="indeedhub"` →
|
||||||
|
`reconcile_indeedhub_stack`, which REFUSES manifest creation when the frontend
|
||||||
|
is absent (returns Left("stack-managed")).
|
||||||
|
- `run_pre_start_hooks("indeedhub")` ~L2324 → `start_indeedhub_backends` →
|
||||||
|
`wait_for_indeedhub_dependencies_ready(120)` — the gate that blocked install_fresh
|
||||||
|
(`indeedhub_api_dependency_dns_ready` returns false while the frontend's own alias
|
||||||
|
is absent + a getent transiently fails).
|
||||||
|
- also `repair_indeedhub_network_aliases`, `patch_indeedhub_nostr_provider`, the
|
||||||
|
"frontend did not stay reachable; restart" path (~L2474), `INDEEDHUB_BACKEND_*`
|
||||||
|
consts, and a crash_recovery.rs indeedhub special-case.
|
||||||
|
**FIX (next, its own build/deploy/test cycle):** delete these special-cases now
|
||||||
|
that the manifest carries dependencies/network_aliases/post_install — route
|
||||||
|
"indeedhub" through the GENERIC install_fresh + reconcile path so the frontend
|
||||||
|
fresh-creates normally (hook fires). Then re-run the destructive lifecycle on .228
|
||||||
|
(frontend recreate must succeed + run the hook), then .198, then the gate.
|
||||||
|
NOTE: .228 currently runs v1.7.99-alpha (these special-cases still present) — the
|
||||||
|
running stack is fine (adoption NoOp); only a frontend-absent event re-triggers the
|
||||||
|
bug, and the frontend is up.
|
||||||
- `b1eea8c0` indeedhub (#20) **phase 3 — CODE COMPLETE, unit-tested.** 7 manifests (apps/indeedhub-{postgres,redis,minio,relay,api,
|
- `b1eea8c0` indeedhub (#20) **phase 3 — CODE COMPLETE, unit-tested.** 7 manifests (apps/indeedhub-{postgres,redis,minio,relay,api,
|
||||||
ffmpeg} + apps/indeedhub frontend) + install_indeedhub_stack orchestrator-first
|
ffmpeg} + apps/indeedhub frontend) + install_indeedhub_stack orchestrator-first
|
||||||
(immich pattern). Data-preserving by construction = ADOPTION on .228: exact live
|
(immich pattern). Data-preserving by construction = ADOPTION on .228: exact live
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user