Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prerequisites

Before installing the Provisioning Platform, ensure your system meets the following requirements.

Hardware Requirements

Minimum Requirements (Solo Mode)

  • CPU: 2 cores
  • RAM: 4GB
  • Disk: 20GB available space
  • Network: Internet connection for downloading dependencies
  • CPU: 4 cores
  • RAM: 8GB
  • Disk: 50GB available space
  • Network: Reliable internet connection

Production Requirements (Enterprise Mode)

  • CPU: 16 cores
  • RAM: 32GB
  • Disk: 500GB 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

SoftwareVersionPurpose
Nushell0.107.1+Shell and scripting language
KCL0.11.2+Configuration language
Docker20.10+Container runtime (for platform services)
SOPS3.10.2+Secrets management
Age1.2.1+Encryption tool

Optional Dependencies

SoftwareVersionPurpose
Podman4.0+Alternative container runtime
OrbStackLatestmacOS-optimized container runtime
K9s0.50.6+Kubernetes management interface
glowLatestMarkdown renderer for guides
batLatestSyntax highlighting for file viewing

Installation Verification

Before proceeding, verify your system has the core dependencies installed:

Nushell

# Check Nushell version
nu --version

# Expected output: 0.107.1 or higher

KCL

# Check KCL version
kcl --version

# Expected output: 0.11.2 or higher

Docker

# Check Docker version
docker --version

# Check Docker is running
docker ps

# Expected: Docker version 20.10+ and connection successful

SOPS

# Check SOPS version
sops --version

# Expected output: 3.10.2 or higher

Age

# Check Age version
age --version

# Expected output: 1.2.1 or higher

Installing Missing Dependencies

macOS (using Homebrew)

# 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 KCL
brew install kcl

# 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

# 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 KCL
curl -LO https://github.com/kcl-lang/cli/releases/download/v0.11.2/kcl-v0.11.2-linux-amd64.tar.gz
tar xzf kcl-v0.11.2-linux-amd64.tar.gz
sudo mv kcl /usr/local/bin/

# 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

# Install Nushell
sudo dnf install -y nushell

# Install KCL (from releases)
curl -LO https://github.com/kcl-lang/cli/releases/download/v0.11.2/kcl-v0.11.2-linux-amd64.tar.gz
tar xzf kcl-v0.11.2-linux-amd64.tar.gz
sudo mv kcl /usr/local/bin/

# 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:

ServicePortProtocolPurpose
Orchestrator8080HTTPWorkflow API
Control Center9090HTTPPolicy engine
KMS Service8082HTTPKey management
API Server8083HTTPREST API
Extension Registry8084HTTPExtension discovery
OCI Registry5000HTTPArtifact 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