docs: REPORT + README for controller v0.92.0 (NAS Part A2, live-validated A-D)
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:
@@ -635,6 +635,22 @@ not just those with HDD data. Non-HDD apps can configure destination, method, an
|
||||
|
||||
### 4. Storage Management
|
||||
|
||||
> **NAS network storage (v0.92.0, Part A2; pairs with agent v0.50.0).** A customer NAS share (NFS or SMB)
|
||||
> is a **distinct storage KIND** from a physical drive (`StoragePath.Kind == "network"`), for **bulk media**.
|
||||
> The controller is a thin proxy over the agent's `/netstorage/*` (A1) + the local registry — it holds **no
|
||||
> mount authority** and **never persists the SMB password** (it passes the credential to the agent's add
|
||||
> request, which writes the 0600 file). Endpoints `POST /api/storage/netstorage/{add,remove}` +
|
||||
> `GET /api/storage/netstorage` (merges the agent's per-share liveness: `ok` | `idle` (benign idle-unmount)
|
||||
> | `unreachable` | `unknown`). A network share registers as `/mnt/felhom-drives/<name>`, is **selectable as
|
||||
> a media app's `HDD_PATH`** (Schedulable), and shows in the "Hálózati tárhely (NAS)" settings section.
|
||||
> - **NOT a drive:** the drive lifecycle (eject/decommission/migrate/wipe/SMART) is **refused** on a network
|
||||
> path server-side (`refuseNetworkLifecycle`). The **drive-absent gate** (`planDriveGates`) and the
|
||||
> **missing-storage** surface **skip network paths**, so an `unreachable` NAS is a **recoverable warning**
|
||||
> (`networkStorageWarnings` → a distinct app-card badge), **never** the drive "missing → stopped" cascade.
|
||||
> - **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).
|
||||
|
||||
> **⚠️ INTERMEDIARY-MOUNT model (v0.67.x, pairs with agent v0.35.x).** External data drives are now
|
||||
> visible in the guest at a STABLE path **`/mnt/felhom-drives/<name>`**, NOT the raw `/mnt/<name>`. The
|
||||
> agent keeps a single permanent parent bind `/mnt/felhom-drives` in the guest and swaps each drive's
|
||||
|
||||
Reference in New Issue
Block a user