Skip to main content
playgrounds

Simulation Labs

Client-side simulation and documentation-driven playground labs -- Build Swarm simulator, apkg tutorial, infrastructure explorer, and monitoring dashboard

February 23, 2026

Simulation Labs

Four playground labs operate without provisioning real containers or VMs. Instead, they use client-side simulations, pre-built datasets, or live API reads to deliver interactive learning experiences. These labs load instantly because there is no backend provisioning step — the page is a static shell with JavaScript-driven interactivity.

The hub page (/playground/index.astro) classifies these labs under two modes:

  • live-data — Reads real APIs (Prometheus metrics, node health data) but does not provision infrastructure. Includes: Infrastructure Explorer, Monitoring Lab.
  • simulation / live (with simulation content) — Fully client-side simulations. Includes: Build Swarm Simulator, apkg Tutorial.

All four labs import ChallengeTracker and DocumentationPanel for guided exercises and reference material. None import LabLauncher, TerminalEmbed, or SessionBar since there is no container lifecycle to manage.

Build Swarm Simulator (/playground/build-swarm)

Route: src/pages/playground/build-swarm.astro

The Build Swarm Simulator visualizes distributed package compilation across Arcturus-Prime’s build swarm infrastructure. It defines five simulated drones matching the real swarm configuration:

DroneGalaxyCoresRole
IzarMilky Way16Primary Drone
Tau-BetaMilky Way8Binhost Drone
CapellaMilky Way8Sweeper Drone
TarnAndromeda14Remote Drone
MeridianAndromeda24High-Core Drone

The simulation uses a sample package queue (Python, GCC, Firefox, Mesa, glibc, etc.) with realistic compile times and dependency counts. Users watch packages distributed across drones with build progress visualization and failure recovery.

Challenges are organized by tier:

  • Beginner: Count drones, identify the two galaxy sites, calculate total cores, observe package distribution
  • Intermediate: Analyze scheduling decisions, understand dependency ordering, compare cross-site latency effects
  • Advanced: Predict optimal package assignment, identify bottleneck drones, analyze failure recovery behavior

The simulation includes an orbital visualization with animated drone nodes, a package queue, and a network topology diagram showing the two galaxy sites connected via Tailscale.

apkg Tutorial (/playground/apkg-tutorial)

Route: src/pages/playground/apkg-tutorial.astro

The apkg Tutorial is a guided walkthrough of the commander Package Manager, the custom Gentoo package management wrapper built for Argo OS. The page provides step-by-step command examples with simulated output, covering three skill levels:

  • Beginner: Basic apkg commands — search, install, list, info
  • Intermediate: Binhost mode (binary package installation), USE flag management, world set operations
  • Advanced: Nix integration, custom overlay management, package set definitions

ChallengeTracker tasks include steps, command, hint, and expected fields. The DocumentationPanel provides reference on apkg capabilities and Portage concepts. No containers are provisioned — command examples render directly in the page. The tutorial works standalone or as preparation for the Argo OS Experience lab.

Infrastructure Explorer (/playground/infrastructure)

Route: src/pages/playground/infrastructure.astro Mode: live-data

The Infrastructure Explorer visualizes the dual-galaxy network topology with system metadata. The page defines the infrastructure data inline using the Galactic Identity System (sanitized hostnames and IPs for public display):

Milky Way Galaxy (sanitized 10.42.0.0/24):

  • Altair-Link — K3s host, gateway and services
  • Capella-Outpost — Workstation, development
  • Izar — Proxmox VE, build orchestrator and drone
  • Tau-Beta — Bare metal, build drone and binhost

Andromeda Galaxy (sanitized 192.168.20.0/24):

  • Tarn — Proxmox VE, hypervisor and orchestrator
  • Meridian-Nexus — Unraid, compute and storage hub
  • Cassiel-Silo — Synology, backup storage
  • Mobius-Silo — Synology, archive storage

The explorer renders each system as an interactive card with IP, Tailscale address, core count, RAM, role, and services. Network connections show the Tailscale mesh VPN linking both sites. Challenges progress from identifying systems and counting resources (beginner) through tracing network paths and understanding subnet routing (intermediate) to mapping the complete build swarm topology (advanced).

Note: This lab uses sanitized data from the Galactic Identity System. Real IPs (Milky Way 10.42.0.0/24, Andromeda 192.168.20.0/24) are mapped to galaxy-themed values for public display.

Monitoring Lab (/playground/monitoring)

Route: src/pages/playground/monitoring.astro Mode: live-data

The Monitoring Lab provides an interactive dashboard for learning observability concepts. It defines sample metrics and alerts inline:

The page defines sample metrics inline (cpu_usage_percent, memory_used_gb, disk_io_mbps, network_rx_mbps, requests_per_second, error_rate_percent) with trend indicators and sample alerts (e.g., High Memory Usage warning on drone-Izar at 82%/85% threshold).

Challenges teach metric interpretation (beginner), alert threshold analysis and resource saturation modeling (intermediate), and alerting rule design with Prometheus query patterns (advanced). The DocumentationPanel covers observability concepts, Prometheus basics, and Grafana dashboard patterns.

Shared Patterns

All four simulation labs share these patterns:

  • No LabLauncher — No provisioning means instant page load.
  • ChallengeTracker — Guided exercises with tiered difficulty. Progress persists in localStorage under Arcturus-Prime-challenges-{templateId}.
  • DocumentationPanel — Collapsible reference panel with capabilities, learning objectives by tier, and external links.
  • Static generation — All pages are SSG (output: 'static'). Interactivity runs entirely in client-side <script> blocks.
  • Data inline — Simulation data (drones, packages, metrics, infrastructure) is defined as TypeScript objects in page frontmatter and rendered at build time.
playgroundssimulationbuild-swarmapkginfrastructuremonitoring