wrolpi/controller/lib
Roland c25902b92a
Disks: allow persisting the primary mount from the UI; clean NTFS before mounting.
The Disks page treated /media/wrolpi as fully protected, so a
manually-mounted primary drive could not be persisted from the UI — and
the Persist toggle would have been wrong anyway: it wrote fstab.yaml,
which the wrolpi-mounts reconciler refuses to apply for the primary
mount (RESERVED_MOUNT_POINTS).  Route Persist for the primary mount to
the host's /etc/fstab (as onboarding does), report its entry in the
fstab list endpoint, and enable the toggle in both UIs while keeping
Unmount blocked.  Mounts outside /media (e.g. /boot/efi, which showed
an Unmount button) are now entirely untouchable System mounts.

Also:
- Run `ntfsfix -d` before mounting ntfs/ntfs3 volumes so the Windows
  dirty flag (Fast Startup, unclean unplug) cannot block mounting;
  non-fatal and a no-op on clean volumes.
- Add uid/gid fstab options for ntfs/ntfs3, matching mount_drive().
- Log reconcile diagnostics (desired/already-mounted/skipped with
  reasons) so an idle wrolpi-mounts run explains itself in the journal.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 14:50:56 -06:00
..
__init__.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00
admin.py Hotspot: address review comments. 2026-07-04 09:04:17 -06:00
config.py Add controller onboarding flow for primary drive setup 2026-03-14 16:08:40 -06:00
disks.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
docker_services.py Adding docker support for samba shares. 2026-03-29 11:14:38 -06:00
fstab.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
fstab_migration.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
fstab_yaml.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
mount_executor.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
mount_runner.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
onboarding.py Moving WROLPi-managed mounts off /etc/fstab onto a drive-resident fstab.yaml. 2026-05-24 12:44:05 -06:00
readiness.py Checking readiness of main app in Controller instead of javascript requests, which break with CORS. 2026-03-08 16:05:56 -06:00
reconciler.py Disks: allow persisting the primary mount from the UI; clean NTFS before mounting. 2026-07-05 14:50:56 -06:00
samba.py Adding docker support for samba shares. 2026-03-29 11:14:38 -06:00
scripts.py Controller logs when it takes actions. 2026-03-14 10:03:11 -06:00
smart.py Surface coarse SMART health for USB-bridge drives (#498) 2026-06-26 09:05:06 -06:00
status.py Fetching processes from PROCFS_PATH in docker container. 2026-05-30 15:59:14 -06:00
status_worker.py Warn in the navbar when a hard drive runs hot (#470) 2026-06-11 19:46:33 -06:00
systemd.py Controller logs when it takes actions. 2026-03-14 10:03:11 -06:00
wrol_mode.py Creating Controller service which will control WROLPi services, admin, SMART, disks, and status. nginx will fallback to Controller UI when React UI is unavailable (such as during upgrades). 2025-12-15 15:48:40 -07:00