# Prerequisites Before installing the Provisioning Platform, ensure your system meets the following requirements. ## Hardware Requirements ### Minimum Requirements (Solo Mode) - **CPU**: 2 cores - **RAM**: 4 GB - **Disk**: 20 GB available space - **Network**: Internet connection for downloading dependencies ### Recommended Requirements (Multi-User Mode) - **CPU**: 4 cores - **RAM**: 8 GB - **Disk**: 50 GB available space - **Network**: Reliable internet connection ### Production Requirements (Enterprise Mode) - **CPU**: 16 cores - **RAM**: 32 GB - **Disk**: 500 GB available space (SSD recommended) - **Network**: High-bandwidth connection with static IP ## Operating System ### Supported Platforms - **macOS**: 12.0 (Monterey) or later - **Linux**: - Ubuntu 22.04 LTS or later - Fedora 38 or later - Debian 12 (Bookworm) or later - RHEL 9 or later ### Platform-Specific Notes **macOS**: - Xcode Command Line Tools required - Homebrew recommended for package management **Linux**: - systemd-based distribution recommended - sudo access required for some operations ## Required Software ### Core Dependencies | Software | Version | Purpose | | ---------- | --------- | --------- | | **Nushell** | 0.107.1+ | Shell and scripting language | | **Nickel** | 1.15.0+ | Configuration language | | **Docker** | 20.10+ | Container runtime (for platform services) | | **SOPS** | 3.10.2+ | Secrets management | | **Age** | 1.2.1+ | Encryption tool | ### Optional Dependencies | Software | Version | Purpose | | ---------- | --------- | --------- | | **Podman** | 4.0+ | Alternative container runtime | | **OrbStack** | Latest | macOS-optimized container runtime | | **K9s** | 0.50.6+ | Kubernetes management interface | | **glow** | Latest | Markdown renderer for guides | | **bat** | Latest | Syntax highlighting for file viewing | ## Installation Verification Before proceeding, verify your system has the core dependencies installed: ### Nushell ```text # Check Nushell version nu --version # Expected output: 0.107.1 or higher ``` ### Nickel ```text # Check Nickel version nickel --version # Expected output: 1.15.0 or higher ``` ### Docker ```text # Check Docker version docker --version # Check Docker is running docker ps # Expected: Docker version 20.10+ and connection successful ``` ### SOPS ```text # Check SOPS version sops --version # Expected output: 3.10.2 or higher ``` ### Age ```text # Check Age version age --version # Expected output: 1.2.1 or higher ``` ## Installing Missing Dependencies ### macOS (using Homebrew) ```text # Install Homebrew if not already installed /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Install Nushell brew install nushell # Install Nickel brew install nickel # Install Docker Desktop brew install --cask docker # Install SOPS brew install sops # Install Age brew install age # Optional: Install extras brew install k9s glow bat ``` ### Ubuntu/Debian ```text # Update package list sudo apt update # Install prerequisites sudo apt install -y curl git build-essential # Install Nushell (from GitHub releases) curl -LO https://github.com/nushell/nushell/releases/download/0.107.1/nu-0.107.1-x86_64-linux-musl.tar.gz tar xzf nu-0.107.1-x86_64-linux-musl.tar.gz sudo mv nu /usr/local/bin/ # Install Nickel (using Rust cargo) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env cargo install nickel # Install Docker sudo apt install -y docker.io sudo systemctl enable --now docker sudo usermod -aG docker $USER # Install SOPS curl -LO https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64 chmod +x sops-v3.10.2.linux.amd64 sudo mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops # Install Age sudo apt install -y age ``` ### Fedora/RHEL ```text # Install Nushell sudo dnf install -y nushell # Install Nickel (using Rust cargo) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env cargo install nickel # Install Docker sudo dnf install -y docker sudo systemctl enable --now docker sudo usermod -aG docker $USER # Install SOPS sudo dnf install -y sops # Install Age sudo dnf install -y age ``` ## Network Requirements ### Firewall Ports If running platform services, ensure these ports are available: | Service | Port | Protocol | Purpose | | --------- | ------ | ---------- | --------- | | Orchestrator | 8080 | HTTP | Workflow API | | Control Center | 9090 | HTTP | Policy engine | | KMS Service | 8082 | HTTP | Key management | | API Server | 8083 | HTTP | REST API | | Extension Registry | 8084 | HTTP | Extension discovery | | OCI Registry | 5000 | HTTP | Artifact storage | ### External Connectivity The platform requires outbound internet access to: - Download dependencies and updates - Pull container images - Access cloud provider APIs (AWS, UpCloud) - Fetch extension packages ## Cloud Provider Credentials (Optional) If you plan to use cloud providers, prepare credentials: ### AWS - AWS Access Key ID - AWS Secret Access Key - Configured via `~/.aws/credentials` or environment variables ### UpCloud - UpCloud username - UpCloud password - Configured via environment variables or config files ## Next Steps Once all prerequisites are met, proceed to: → **[Installation](02-installation.md)**