docs: REPORT + CONTEXT + README for v0.90.0 channel health-check (live-validated, hub v0.20.0 allowlist)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pg8ANF97SEeKYSN5Jxw3qJ
This commit is contained in:
@@ -737,6 +737,19 @@ not just those with HDD data. Non-HDD apps can configure destination, method, an
|
||||
> This replaced a per-call `agentapi.New(...)` that leaked one idle ESTABLISHED socket per call and
|
||||
> exhausted the ephemeral source-port range to the agent's `:8443` after ~5 days (EADDRNOTAVAIL).
|
||||
> Safe because `cfg.LocalAPI` is static per process (a config-apply triggers a graceful self-restart).
|
||||
> - **(v0.90.0) Channel health-check — `internal/channelhealth`.** A ~60s scheduler job
|
||||
> (`agent-channel-health`) probes the channel via `Server.ProbeAgentChannel` (the SAME memoized
|
||||
> client + `GET /storage` — not a fresh client) and classifies failures into
|
||||
> `up | down:<reason>` (pin_mismatch / unauthorized / unreachable / timeout / misconfigured /
|
||||
> construction_error). Transient reasons (refused/timeout) are **debounced** (N≥2 consecutive)
|
||||
> so a clean agent restart's ~1s blip doesn't page; pin/401/DNS/construction alert on the first
|
||||
> down. On a transition it fires an English **operator-only** event
|
||||
> (`Notifier.NotifyAgentChannelDown/Recovered`, hub 1h cooldown) and sets a Hungarian dashboard
|
||||
> banner (`AlertManager.SetAgentChannelAlert`). The first observation seeds state silently. This is
|
||||
> the controller half of the self-health story (the agent watches its own privileged capabilities;
|
||||
> the controller watches its link to the agent). A construction error (`agentClient()` can't build
|
||||
> — a latching config fault) is surfaced distinctly. Detection/surfacing only — it never touches the
|
||||
> pin, transport, or gate.
|
||||
> - The **`StoragePath` registry** (`settings.go`: `AddStoragePath`/default/schedulable/label) is unchanged.
|
||||
> - **(v0.64.0) `AutoDiscoverStoragePaths` is now ADDITIVE** — it no longer bails when the registry is
|
||||
> non-empty; instead it registers only deployed-app paths missing from the registry. It never removes
|
||||
|
||||
Reference in New Issue
Block a user