v0.117.0: consuming-namespace NAS verification + deploy-view truth (RCA fixes 2+4)
statfs fsclass helper (network/autofs/stub/unknown, fail-open); probe not_network_fs assertion (stub can never verify — red-proven); deploy-time stub refusal (idle autofs proceeds — red-proven); distinct stub badge, stub wins over unreachable (unreachable line byte-identical); deployed select shows stored HDD_PATH (red-proven vs IsDefault-only). MinAgent unchanged 0.81.0. Gates green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
This commit is contained in:
@@ -824,6 +824,23 @@ not just those with HDD data. Non-HDD apps can configure destination, method, an
|
||||
> every state). Convention: every future coupled feature adds a `featureProbes` row + a gate call at
|
||||
> its entry point and declares `MinAgent` in its CHANGELOG header — see
|
||||
> `felhom.eu/documentation/runbooks/publish-train-rules.md`.
|
||||
> - **Consuming-namespace verification (v0.117.0, RCA AUDIT-nas-cwa-rca-2026-07-11 fix 2):** a guest
|
||||
> reboot silently replaces an idle NAS trigger with a plain local STUB dir in the app namespace while
|
||||
> host-side (agent) health stays green — so the controller now verifies where the apps consume:
|
||||
> `internal/system/fsclass*.go` classifies a path by **statfs f_type** in THIS process's namespace
|
||||
> (`network` nfs/cifs/smb2 | `autofs` idle trigger = HEALTHY, never force-mounted | `stub` | `unknown`
|
||||
> = fail-open). Three consumers: (1) the `--netprobe` child now REQUIRES a mounted network fs after
|
||||
> its create (exit 5 → category `not_network_fs`, full rollback — a writable stub can never verify);
|
||||
> (2) `POST /api/stacks/{name}/deploy` refuses (409) a registered network `HDD_PATH` that classifies
|
||||
> as a stub (`refuseNetworkStubDeploy`; idle autofs deploys fine — first app access mounts it);
|
||||
> (3) the dashboard/stacks app cards gain a distinct **stub badge** ("Hálózati tárhely hibás — az
|
||||
> alkalmazás nem a NAS-t látja", `NetworkStubs`) that WINS over the recoverable `unreachable` badge.
|
||||
> The agent pair (v0.84.0 `ReassertNetworkMounts`) re-arms triggers on guest start; this layer is the
|
||||
> detection net beneath it.
|
||||
> - **Deploy view truth (v0.117.0, RCA fix 4):** a deployed app's read-only storage select now marks
|
||||
> `selected` by the app's STORED `HDD_PATH` (extra disabled `<path> (nem elérhető)` option when the
|
||||
> stored path left the schedulable list) — `IsDefault` selects only for NEW deploys. Pre-fix the view
|
||||
> showed the default drive regardless of app.yaml (the RCA's S-C symptom).
|
||||
> - **Limits (v1):** a share's `+100000` uid mapping is fixed at add-time (one app / same-uid apps); for
|
||||
> write apps on a soft NFS mount, an in-flight file can truncate if the NAS vanishes mid-write (prefer
|
||||
> atomic-write apps / SSD-staging).
|
||||
|
||||
Reference in New Issue
Block a user