# AtlasOS AtlasOS is an appliance-style storage controller build by Adastra **v1 Focus** - ZFS storage engine - SMB / NFS / iSCSI (ZVOL) - Virtual Tape Library (VTL) with mhvtl - Auto snapshots (sanoid) - RBAC + audit - TUI (Bubble Tea) + Web GUI (HTMX) - Prometheus metrics > This repository contains the management plane and appliance tooling. ## Quick Installation ### Standard Installation (with internet) ```bash sudo ./installer/install.sh ``` ### Airgap Installation (offline) ```bash # Step 1: Download bundle (on internet-connected system) sudo ./installer/bundle-downloader.sh ./atlas-bundle # Step 2: Transfer bundle to airgap system # Step 3: Install on airgap system sudo ./installer/install.sh --offline-bundle /path/to/atlas-bundle ``` See `installer/README.md` and `docs/INSTALLATION.md` for detailed instructions. ## Features ### Storage Management - **ZFS**: Pool, dataset, and ZVOL management with health monitoring - **SMB/CIFS**: Windows file sharing with permission management - **NFS**: Network file sharing with client access control - **iSCSI**: Block storage with target and LUN management ### Virtual Tape Library (VTL) - **Media Changers**: Create and manage virtual tape libraries - **Tape Drives**: Configure virtual drives (LTO-5 through LTO-8) - **Tape Cartridges**: Create and manage virtual tapes - **Tape Operations**: Load, eject, and manage tape media - **Multi-Vendor Support**: IBM, HP, Quantum, Tandberg, Overland - **Automatic Service Management**: Auto-restart mhvtl after configuration changes ### Security & Access Control - **RBAC**: Role-based access control (Administrator, Operator, Viewer) - **Audit Logging**: Immutable audit trail for all operations - **Authentication**: JWT-based authentication ### Monitoring - **Prometheus Metrics**: System and storage metrics - **Health Monitoring**: Pool health and capacity tracking - **Job Management**: Track long-running operations ## Installation Directory Atlas is installed to `/opt/atlas` by default. The installer script will: 1. Install all required dependencies (ZFS, SMB, NFS, iSCSI, mhvtl) 2. Build Atlas binaries 3. Set up systemd services 4. Configure directories and permissions ## Pushing Changes to Repository Use the provided script to commit and push changes: ```bash ./scripts/push-to-repo.sh "Your commit message" ``` Or skip version update: ```bash ./scripts/push-to-repo.sh "Your commit message" --skip-version ```