Files
wild-cloud/docs/SETUP_FULL.md

2.6 KiB

Wild Cloud Setup

Hardware prerequisites

Procure the following before setup:

  • Any machine for running setup and managing your cloud.
  • One small machine for dnsmasq (running Ubuntu linux)
  • Three machines for control nodes (2GB memory, 100GB hard drive).
  • Any number of worker node machines.
  • A network switch connecting all these machines to your router.
  • A network router (e.g. Fluke 2) connected to the Internet.
  • A domain of your choice registerd (or managed) on Cloudflare.

Setup

Clone this repo (you probably already did this).

source env.sh

Initialize a personal wild-cloud in any empty directory, for example:

cd ~
mkdir ~/my-wild-cloud
cd my-wild-cloud

wild-setup-scaffold

Download Cluster Node Boot Assets

We use Talos linux for node operating systems. Run this script to download the OS for use in the rest of the setup.

# Generate node boot assets (PXE, iPXE, ISO)
wild-cluster-node-boot-assets-download

Dnsmasq

  • Install a Linux machine on your LAN. Record it's IP address in your config:cloud.dns.ip.
  • Ensure it is accessible with ssh.
# Install dnsmasq with PXE boot support
wild-dnsmasq-install --install

Cluster Setup

Cluster Infrastructure Setup

# Configure network, cluster settings, and register nodes
wild-setup-cluster

This interactive script will:

  • Configure network settings (router IP, DNS, DHCP range)
  • Configure cluster settings (Talos version, schematic ID, MetalLB pool)
  • Help you register control plane and worker nodes by detecting their hardware
  • Generate machine configurations for each node
  • Apply machine configurations to nodes
  • Bootstrap the cluster after the first node.

Install Cluster Services

wild-setup-services

Installing Wild Cloud Apps

# List available applications
wild-apps-list

# Deploy an application
wild-app-deploy <app-name>

# Check app status
wild-app-doctor <app-name>

# Remove an application
wild-app-delete <app-name>

Individual Node Management

If you need to manage individual nodes:

# Generate patch for a specific node
wild-cluster-node-patch-generate <node-ip>

# Generate final machine config (uses existing patch)
wild-cluster-node-machine-config-generate <node-ip>

# Apply configuration with options
wild-cluster-node-up <node-ip> [--insecure] [--skip-patch] [--dry-run]

Asset Management

# Download/cache boot assets (kernel, initramfs, ISO, iPXE)
wild-cluster-node-boot-assets-download

# Install dnsmasq with specific schematic
wild-dnsmasq-install --schematic-id <id> --install