# AtlasOS – Calypso  
## Appliance Component List (Baseline v1)

Version: 1.0  
Status: Baseline – Product Definition  
Target OS: Ubuntu Server 24.04 LTS  
Date: 2025

---

## 1. Overview

AtlasOS – Calypso is a **generic backup appliance platform** that provides:

- Disk-based backup storage
- Physical tape library bridging (SAS / FC)
- Virtual Tape Library (VTL) services
- iSCSI presentation for **any backup software**
- Centralized management via web-based GUI
- Strong security, auditability, and observability

This document enumerates **all required components** for building, operating, and packaging the appliance.

---

## 2. Base Platform Components

### 2.1 Operating System
- Ubuntu Server 24.04 LTS
- systemd
- journald
- udev (persistent device naming)
- chrony (time synchronization)
- ufw / nftables (firewall)

---

## 3. Disk Storage Layer

Used for:
- Backup repository (disk target)
- Virtual tape backing store (MHVTL)

Components:
- LVM2
- thin-provisioning-tools
- XFS (primary filesystem)
- ext4 (alternative)
- (Optional) ZFS (advanced SKU)
- smartmontools
- nvme-cli
- parted / gdisk

---

## 4. Physical Tape Subsystem (SAS / FC)

Used for:
- Physical tape library discovery
- Changer and drive operations
- Slot inventory
- Load / unload operations

Components:
- SAS or FC HBA drivers (Broadcom / LSI / QLogic / Emulex)
- multipath-tools (FC dual-path environments)
- lsscsi
- sg3_utils
- mt-st
- mtx

---

## 5. Virtual Tape Library (VTL)

Provides:
- Disk-backed virtual tape services
- Virtual medium changer
- Virtual tape drives
- Virtual slots and barcodes

Components:
- mhvtl
- mhvtl-utils / vtlcmd (depending on build)
- VTL configuration and tape image storage

Use Cases:
- Backup staging
- Copy-to-tape workflows
- Test / development environments
- Air-gap logic simulation

---

## 6. iSCSI Target Stack (Core Appliance Function)

All storage and tape devices are presented using **SCST**.

Components:
- scst (kernel modules)
- iscsi-scst
- scstadmin

Usage:
- Disk repository iSCSI targets
- Physical tape library bridge
- Virtual tape library (MHVTL) export

Design Rules:
- SCST is the **only** target framework
- One device is owned by one framework only
- Tape targets must use:
  - LUN 0 → Medium changer
  - LUN 1..N → Tape drives (max 8)
- Single initiator policy enforced for tape targets

---

## 7. Calypso Core Application

### 7.1 Backend (Go)

Responsibilities:
- Disk storage orchestration (LVM/ZFS)
- Physical tape management
- VTL (MHVTL) management
- SCST iSCSI target orchestration
- Async task execution
- State and configuration management
- Audit logging
- Backup software compatibility profiles

Modules:
- storage
- tape-physical
- tape-vtl
- iscsi
- scst
- tasks
- system
- monitoring
- audit
- profile-engine

---

### 7.2 Frontend (Web GUI)

Technology:
- React
- Vite
- TypeScript
- TailwindCSS + shadcn/ui
- TanStack Query
- WebSocket client

Functional Areas:
- Dashboard
- Disk Repository Management
- Physical Tape Library
- Virtual Tape Library (VTL)
- iSCSI Targets & Initiators
- Tasks & Jobs
- Alerts & Logs
- System Settings
- Authentication & Users

---

## 8. Authentication & IAM

Components:
- PostgreSQL
- Local user authentication (Argon2id)
- LDAP authentication (AD / OpenLDAP)
- SSO via OIDC (Keycloak, Azure AD, Okta)
- RBAC (Admin / Operator / ReadOnly)
- Audit logging

Database Entities:
- users
- roles
- permissions
- user_roles
- external_identities
- sessions
- audit_log

---

## 9. Monitoring & Observability

### 9.1 Built-in Monitoring
- Disk capacity and health
- Tape library status (physical & VTL)
- SCST and iSCSI sessions
- System services health
- Alert engine
- Event stream (WebSocket)

### 9.2 Optional External Integration
- Prometheus metrics endpoint
- node_exporter
- Log forwarding (rsyslog / Loki)

---

## 10. Web Access & Security Perimeter

Components:
- Caddy (recommended) or Nginx
- TLS certificates (ACME or internal CA)
- HTTP security headers
- Rate limiting
- Reverse proxy to API and UI

---

## 11. Packaging & Appliance Operations

Components:
- Debian packages (.deb)
- systemd service units:
  - calypso-api.service
  - scst.service
  - mhvtl.service
  - postgresql.service
  - caddy.service / nginx.service
- Installer scripts
- Upgrade workflow
- Support bundle generator (logs + configs + inventory)

---

## 12. Backup Software Compatibility

AtlasOS – Calypso is **backup software agnostic**.

Supported via iSCSI:
- Bacula
- Veeam
- Dell NetWorker
- Veritas NetBackup
- Commvault
- Arcserve
- Any SCSI-compliant backup engine

No backup software–specific logic is embedded in the core appliance.

---

## 13. Status

This component list represents the **authoritative baseline** for:
- Architecture decisions
- SRS alignment
- Implementation planning
- Packaging and deployment

All other documents must conform to this component list.

---
