# Technology Stack Summary
## AtlasOS - Calypso Backup Appliance

Quick reference for all technologies used in Calypso.

---

## 🖥️ Operating System
- **Ubuntu Server 24.04 LTS**
- **Linux Kernel 6.8+**
- **systemd** - Service management

---

## 🔧 Backend Stack

### Core
- **Go 1.24+** - Programming language
- **Gin** - Web framework
- **PostgreSQL 14+** - Database

### Libraries
- **JWT (golang-jwt/jwt/v5)** - Authentication
- **UUID (google/uuid)** - UUID generation
- **WebSocket (gorilla/websocket)** - Real-time communication
- **Zap (uber.org/zap)** - Structured logging
- **YAML (gopkg.in/yaml.v3)** - Configuration parsing
- **lib/pq** - PostgreSQL driver (for arrays)

---

## 🎨 Frontend Stack

### Core
- **React 19** - UI framework
- **TypeScript** - Type-safe JavaScript
- **Vite** - Build tool

### Libraries
- **React Router DOM** - Routing
- **TanStack Query** - Data fetching & caching
- **Zustand** - State management
- **Axios** - HTTP client
- **TailwindCSS** - Styling
- **Lucide React** - Icons
- **Recharts** - Charts
- **xterm.js** - Terminal emulator

---

## 💾 Storage Technologies

### File Systems
- **ZFS** - Primary storage filesystem
- **LVM2** - Logical volume management
- **XFS** - High-performance filesystem
- **ext4** - Alternative filesystem

### Tools
- **parted, gdisk** - Partition management
- **smartmontools** - Disk monitoring
- **nvme-cli** - NVMe management

---

## 🌐 Network & File Sharing

### Protocols
- **NFS** - Network File System (nfs-kernel-server)
- **Samba** - SMB/CIFS file sharing
- **iSCSI** - Block storage (SCST)

### Tools
- **SCST** - iSCSI target subsystem
- **open-iscsi** - iSCSI initiator

---

## 💿 Backup & Tape

### Software
- **Bacula/Bareos** - Backup software
- **MHVTL** - Virtual Tape Library

### Tools
- **lsscsi** - SCSI device listing
- **sg3-utils** - SCSI generic utilities
- **mt-st** - Tape utilities
- **mtx** - Media changer control

---

## 🛡️ Security

### Antivirus
- **ClamAV** - Antivirus engine
  - clamav-daemon
  - clamav-freshclam

### Authentication
- **JWT** - Token-based auth
- **bcrypt/Argon2** - Password hashing
- **RBAC** - Role-based access control

---

## 📊 Monitoring

### Built-in
- **Custom Metrics Service** - System metrics
- **Health Checks** - Service health
- **Audit Logging** - Database-backed audit

---

## 🔄 Reverse Proxy (Optional)

- **Nginx** - Web server
- **Caddy** - Web server with auto-HTTPS

---

## 📦 Package Count

- **Backend Go Dependencies:** ~50 packages
- **Frontend npm Dependencies:** ~300+ packages
- **System Packages:** ~50+ packages

---

## 🏗️ Architecture

```
┌─────────────────────────────────┐
│   React 19 + TypeScript + Vite  │  Frontend
└──────────────┬──────────────────┘
               │ HTTP/REST
┌──────────────▼──────────────────┐
│   Go 1.24 + Gin + PostgreSQL     │  Backend
└──────────────┬──────────────────┘
               │
┌──────────────▼──────────────────┐
│   ZFS + SCST + Bacula + ClamAV   │  System Services
└──────────────────────────────────┘
```

---

## 📚 Full Documentation

See `TECHNOLOGY-STACK.md` for complete details.

