$ account 45Drives
This repository is a Cockpit web UI plugin for managing file sharing services on Linux servers, developed by 45Drives. It provides a single-page application with separate tabs for Samba (CIFS), NFS, iSCSI (using SCST driver, both single-server and clustered with Pacemaker), and S3 object storage (supporting MinIO, RustFS, Ceph RGW, and Garage backends). The architecture is a Vue 3 + TypeScript frontend that communicates with the server by executing shell commands, parsing configuration files (e.g., /etc/exports, smb.conf), and interacting with backend-specific CLIs (mc, radosgw-admin, garage) and S3-compatible APIs. Key entry points include App.vue for top-level routing, and per-tab main components (SambaTabMain, NFSTabMain, ISCSITabMain, S3ManagementMain). Data flows are user-driven: configuration changes are applied via system commands and written to configuration files, with systemd service management for start/stop/status. The codebase demonstrates reasonable engineering practices with error handling using neverthrow, but has some legacy code in file-sharing-old/ and significant coupling in the iSCSI cluster driver. It is actively maintained with frequent releases and many open issues.