feat: structured NFS options with auto-fsid and manual watched mounts

NFS exports: replace plain-text options string with typed booleans
(read_only, async, root_squash, subtree_check) + advanced JSON blob.
fsid is auto-generated via crypto/rand with collision retry and is
never user-settable. Breaking API change (options field removed).

Dashboard: filter disks to manual+samba+nfs sources only; no more
auto-discovery of all /proc/mounts entries.

Settings: new 'Puntos de montaje vigilados' card with add/remove
for manual mount points. AllowedRoots validation applied.

Version bump: 0.1.10 -> 0.2.0
This commit is contained in:
2026-07-06 00:23:49 -04:00
parent 63e0b5146a
commit e3add68584
9 changed files with 280 additions and 60 deletions
+4
View File
@@ -32,6 +32,10 @@ func NewRouter(s *Server) chi.Router {
protected.Get("/version", s.handleVersion)
protected.Put("/auth/password", s.handleChangePassword)
protected.Get("/system/watched-mounts", s.handleListWatchedMounts)
protected.Post("/system/watched-mounts", s.handleCreateWatchedMount)
protected.Delete("/system/watched-mounts/{id}", s.handleDeleteWatchedMount)
protected.Get("/import/status", s.handleImportStatus)
protected.Post("/import/samba", s.handleImportSamba)
protected.Post("/import/nfs", s.handleImportNFS)