2026-01-14 04:53:21 +00:00
|
|
|
# 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
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```nushell
|
2026-01-14 04:53:21 +00:00
|
|
|
# Check Nushell version
|
|
|
|
|
nu --version
|
|
|
|
|
|
|
|
|
|
# Expected output: 0.107.1 or higher
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Nickel
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```nickel
|
2026-01-14 04:53:21 +00:00
|
|
|
# Check Nickel version
|
|
|
|
|
nickel --version
|
|
|
|
|
|
|
|
|
|
# Expected output: 1.15.0 or higher
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Docker
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# Check Docker version
|
|
|
|
|
docker --version
|
|
|
|
|
|
|
|
|
|
# Check Docker is running
|
|
|
|
|
docker ps
|
|
|
|
|
|
|
|
|
|
# Expected: Docker version 20.10+ and connection successful
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### SOPS
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# Check SOPS version
|
|
|
|
|
sops --version
|
|
|
|
|
|
|
|
|
|
# Expected output: 3.10.2 or higher
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Age
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# Check Age version
|
|
|
|
|
age --version
|
|
|
|
|
|
|
|
|
|
# Expected output: 1.2.1 or higher
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Installing Missing Dependencies
|
|
|
|
|
|
|
|
|
|
### macOS (using Homebrew)
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# 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
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# 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
|
|
|
|
|
|
2026-01-14 04:53:58 +00:00
|
|
|
```bash
|
2026-01-14 04:53:21 +00:00
|
|
|
# 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:
|
2026-01-14 04:59:11 +00:00
|
|
|
→ **[Installation](02-installation.md)**
|