controller v0.92.0: NAS network storage Part A2 (registry + UI + per-share health)
Controller-side of NAS network storage, proxying to agent A1 /netstorage/*. Distinct 'network' storage kind (no drive lifecycle); add/list/remove + per-share health UI; unreachable NAS is a recoverable warning, never the drive missing/stop cascade; SMB creds pass through to the agent, never persisted. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HxLA1mZurFq9kt8hneFeCs
This commit is contained in:
@@ -212,6 +212,13 @@ func planDriveGates(paths []settings.StoragePath, disks []agentapi.DiskInfo) []g
|
||||
if sp.Decommissioned {
|
||||
continue
|
||||
}
|
||||
// NAS network storage is NOT a drive — the agent never lists it in /disks, so the drive-absent gate
|
||||
// would falsely see it "absent" (present[sp.Path]==false) and STOP its apps. A NAS blip is
|
||||
// recoverable (the agent's per-share liveness → a warning badge), never the drive stop-cascade.
|
||||
// Skip network paths here entirely (Scenario C: unreachable ≠ missing).
|
||||
if sp.IsNetwork() {
|
||||
continue
|
||||
}
|
||||
// ONLY gate EXTERNAL drives — those registered under the stable parent /mnt/felhom-drives/<name>.
|
||||
// Internal SSD / system paths (e.g. /mnt/sys_drive/felhom-data) are always-present locals the agent
|
||||
// never reports as drives; gating them on "absence" would falsely stop/block their apps. (Legacy
|
||||
|
||||
Reference in New Issue
Block a user