81 lines
2.4 KiB
Markdown
81 lines
2.4 KiB
Markdown
# 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
|
|
```
|