Skip to content

Get started

Host requirements

You need a Linux host (SLES 16 / Leap 16 recommended) with nested KVM available, root or passwordless sudo, and enough RAM for the profile you pick — see the table below.

Install

bash
$ curl -fsSL https://raw.githubusercontent.com/avaleror/rodeo-cli/main/install.sh | bash

This clones the repo, sets up a Python environment internally, and links rodeo as a system command. No venv to activate, no PATH to set, no sudo prefix.

Deploy

bash
$ rodeo up

That's it. rodeo up checks the host, picks a profile that fits the available RAM, generates ~/.rodeo/secrets.yaml, self-escalates with sudo, deploys, and prints the URLs and credentials to log in. It also wraps itself in a tmux session automatically, so a dropped SSH or Instruqt connection doesn't kill a running deploy — reattach any time with tmux attach -t rodeo-<profile>.

To pick a specific profile instead of letting rodeo up choose:

bash
$ rodeo up --profile rancher # Rancher Prime only, ~10 GiB RAM $ rodeo up --profile harvester-ha # 3-node Harvester HA, ~52 GiB RAM $ rodeo up --profile harvester # 3-node Harvester + Rancher, ~60 GiB RAM $ rodeo up --profile suse-edge # Rancher + Elemental + EIB + edge nodes

Pick a profile

Profile What it builds RAM
rancher Rancher Prime on K3s, single VM ~10-16 GiB
harvester-2n 2-node Harvester HCI + Rancher ~40 GiB
harvester-ha 3-node Harvester HCI, no Rancher ~52 GiB
harvester 3-node Harvester HCI + Rancher ~60 GiB
suse-edge Rancher + Elemental Operator + EIB + 4 edge nodes varies
test Minimal single-node Harvester for fast iteration smallest

Full walkthroughs live in the profile guides: Rancher Prime, Harvester HCI, SUSE Edge.

Day-2 operations

Once a lab is up, it's something you operate, not a one-shot script:

bash
$ rodeo status # what's deployed, what's drifted $ rodeo stop / start # graceful, infra-aware $ rodeo set-password # rotate admin credentials, no redeploy $ rodeo install-extensions # reconcile UI extensions post-deploy $ rodeo clean # tear the lab down

Want a lab that isn't bundled?

rodeo new mylab --from harvester scaffolds an editable profile under ~/.rodeo/profiles/mylab. Edit the YAML, run rodeo up --profile mylab, and the lab converges to match. See Create your own rodeo.

Many hosts (workshop fleet)

To deploy the same lab on a list of remote KVM hosts from your laptop (bare metal today), use rodeo fleet with a workshop.yaml inventory — doctor, status, deploy, diagnose, retry, and an access URL sheet.

Shipped: F0–F2.1 (JSON reports, fan-out, deploy/retry/access/diagnose).
Roadmap: MCP (F3); F4a AWS provision shipped (MVP); next GCP → Vultr Bare Metal → Hetzner (F4b–d). Single-host: rodeo up --target aws (Phase E MVP).

See Fleet and Fleet roadmap.

Something not working?

Check the Troubleshooting runbook — it covers stuck deploys, timed-out Harvester installs, unreachable VIPs, and a handful of other issues hit on real hosts.