# Calypso Appliance Installer
## Alpha Release

**Version:** 1.0.0-alpha  
**Target OS:** Ubuntu Server 24.04 LTS  
**Status:** Production Ready

---

## Overview

This installer provides a complete installation of the Calypso backup appliance, including all system dependencies, components, and configuration.

## Quick Start

```bash
# Clone or extract Calypso source
cd /path/to/calypso

# Run installer
sudo ./installer/alpha/install.sh
```

## Installation Components

The installer will install and configure:

1. **System Dependencies**
   - Go 1.22+
   - Node.js 20.x LTS
   - PostgreSQL 14+
   - Build tools and utilities

2. **Storage Components**
   - ZFS (if not already installed)
   - LVM2, XFS tools
   - Disk management utilities

3. **iSCSI Components**
   - SCST kernel modules
   - SCST tools and configuration

4. **Tape Components**
   - Physical tape tools (lsscsi, sg3-utils, mtx, mt)
   - MHVTL (Virtual Tape Library)

5. **Backup Components**
   - Bacula/Bareos (optional, can be installed separately)

6. **Calypso Application**
   - Backend API (Go)
   - Frontend UI (React)
   - Systemd services
   - Configuration files

7. **Filesystem Structure**
   - `/opt/adastra/calypso/` - Binaries
   - `/etc/calypso/` - Configuration
   - `/srv/calypso/` - Data
   - `/var/log/calypso/` - Logs
   - `/var/lib/calypso/` - Runtime data

## Installation Steps

1. **Pre-flight Checks**
   - Verify OS compatibility
   - Check root privileges
   - Verify network connectivity

2. **System Dependencies**
   - Install base packages
   - Install Go, Node.js, PostgreSQL
   - Install storage and tape tools

3. **Filesystem Setup**
   - Create directory structure
   - Set permissions
   - Create ZFS datasets (if applicable)

4. **Component Installation**
   - Install ZFS (if needed)
   - Install SCST
   - Install MHVTL
   - Install Bacula (optional)

5. **Application Build & Install**
   - Build backend binary
   - Build frontend assets
   - Install to `/opt/adastra/calypso/`

6. **Database Setup**
   - Create PostgreSQL database
   - Run migrations
   - Create default admin user

7. **Configuration**
   - Copy configuration templates
   - Generate secrets
   - Configure services

8. **Service Setup**
   - Install systemd services
   - Enable and start services
   - Verify installation

## Configuration

After installation, configure the system:

1. Edit `/etc/calypso/config.yaml`
2. Set environment variables in `/etc/calypso/secrets.env`
3. Restart services: `sudo systemctl restart calypso-api`

## Post-Installation

1. Access web UI: `http://<server-ip>:3000`
2. Login with default admin credentials (check installer output)
3. Change default password immediately
4. Configure storage pools
5. Configure network interfaces

## Uninstallation

```bash
sudo ./installer/alpha/uninstall.sh
```

## Troubleshooting

See `TROUBLESHOOTING.md` for common issues and solutions.

## Support

For issues and questions, refer to:
- Documentation: `docs/alpha/`
- Architecture: `docs/alpha/Calypso_System_Architecture.md`
- Infrastructure Review: `docs/alpha/INFRASTRUCTURE-REVIEW.md`

