Skip to content

2.2 Install Tooling

Install the tools required to provision and manage the RCIIS infrastructure.

Required Tools

Tool Version Purpose
Formae CLI v0.81.0+ Infrastructure-as-Code engine (Pkl-based)
Pkl Latest Configuration language used by Formae modules
AWS CLI v2 AWS API interaction, AMI registration, S3 uploads
talosctl Matches talosVersion in vars.pkl Talos node management and cluster bootstrap
xz Any Decompress Talos disk images before S3 upload
jq Any Parse JSON responses from AWS CLI and Talos releases
curl Any Download Talos images and interact with Image Factory

Install Formae CLI

Formae is installed from the Platform Engineering release archive. Download the appropriate archive for your platform.

# Extract to /opt/pel/formae (or your preferred location)
tar -xzf formae@0.81.0_darwin-arm64.tgz -C /opt/pel/formae

# Add to PATH (add to ~/.zshrc for persistence)
export PATH="/opt/pel/formae/bin:$PATH"

# Verify installation
formae --version
# Extract to /opt/pel/formae (or your preferred location)
tar -xzf formae@0.81.0_linux-amd64.tgz -C /opt/pel/formae

# Add to PATH (add to ~/.bashrc for persistence)
export PATH="/opt/pel/formae/bin:$PATH"

# Verify installation
formae --version
# Extract to C:\tools\formae (or your preferred location)
Expand-Archive -Path formae@0.81.0_windows-amd64.zip -DestinationPath C:\tools\formae

# Add to PATH (run as Administrator, or set via System Properties)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\tools\formae\bin", "User")

# Restart your terminal, then verify
formae --version

Install Pkl

Pkl is the configuration language used by all Formae modules.

brew install pkl

# Verify
pkl --version
# Download the latest release
curl -L -o pkl https://github.com/apple/pkl/releases/latest/download/pkl-linux-amd64
chmod +x pkl
sudo mv pkl /usr/local/bin/

# Verify
pkl --version
# Download the latest release
Invoke-WebRequest -Uri "https://github.com/apple/pkl/releases/latest/download/pkl-windows-amd64.exe" -OutFile "pkl.exe"

# Move to a directory in your PATH
Move-Item pkl.exe C:\tools\pkl.exe

# Verify
pkl --version

Install AWS CLI v2

brew install awscli

# Verify
aws --version
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

# Verify
aws --version
# Download and run the MSI installer
Invoke-WebRequest -Uri "https://awscli.amazonaws.com/AWSCLIV2.msi" -OutFile "AWSCLIV2.msi"
Start-Process msiexec.exe -ArgumentList '/i AWSCLIV2.msi /quiet' -Wait

# Restart your terminal, then verify
aws --version

Configure your AWS profile (same on all platforms):

aws configure --profile <your-profile>
# Set region to match vars.pkl (default: af-south-1)

Install talosctl

The talosctl version must match the talosVersion defined in vars.pkl (currently v1.12.2).

# Install via the official install script
curl -sL https://talos.dev/install | sh

# Or download a specific version (Apple Silicon)
curl -LO https://github.com/siderolabs/talos/releases/download/v1.12.2/talosctl-darwin-arm64
chmod +x talosctl-darwin-arm64
sudo mv talosctl-darwin-arm64 /usr/local/bin/talosctl

# Intel Mac — use darwin-amd64 instead
# curl -LO https://github.com/siderolabs/talos/releases/download/v1.12.2/talosctl-darwin-amd64

# Verify
talosctl version --client
# Install via the official install script
curl -sL https://talos.dev/install | sh

# Or download a specific version
curl -LO https://github.com/siderolabs/talos/releases/download/v1.12.2/talosctl-linux-amd64
chmod +x talosctl-linux-amd64
sudo mv talosctl-linux-amd64 /usr/local/bin/talosctl

# Verify
talosctl version --client
# Download the Windows binary
Invoke-WebRequest -Uri "https://github.com/siderolabs/talos/releases/download/v1.12.2/talosctl-windows-amd64.exe" -OutFile "talosctl.exe"

# Move to a directory in your PATH
Move-Item talosctl.exe C:\tools\talosctl.exe

# Verify
talosctl version --client

Install Utilities

brew install xz jq curl
# Debian/Ubuntu
sudo apt-get install -y xz-utils jq curl

# RHEL/Fedora
sudo dnf install -y xz jq curl
# Using Chocolatey
choco install 7zip jq curl

# Or using winget
winget install 7zip.7zip
winget install jqlang.jq

Note

On Windows, use 7z instead of xz for decompressing .xz archives:

7z x aws-amd64.raw.xz