Skip to content

Sherpa

Warning

Sherpa is currently in Alpha stage and not ready for human consumption.

Sherpa is a lab management platform that brings virtual machines, containers, and unikernels together under a unified control plane. Define your topology in a simple TOML file, and Sherpa handles the rest — networking, storage, and initial configuration.

Define a lab topology

# manifest.toml
name = "my-lab"

nodes = [
  { name = "spine01", model = "arista_ceos" },
  { name = "spine02", model = "arista_ceos" },
  { name = "leaf01",  model = "sonic_linux" },
  { name = "leaf02",  model = "sonic_linux" },
  { name = "srv01",   model = "ubuntu_linux" },
]

links = [
  { src = "spine01::eth1", dst = "leaf01::eth51" },
  { src = "spine01::eth2", dst = "leaf02::eth51" },
  { src = "spine02::eth1", dst = "leaf01::eth52" },
  { src = "spine02::eth2", dst = "leaf02::eth52" },
  { src = "leaf01::eth1",  dst = "srv01::eth1" },
  { src = "leaf02::eth1",  dst = "srv01::eth2" },
]

Build the lab

sherpa up

That's it. Five nodes, six links, one command.


Why Sherpa?

  • Mixed workloads — Run VMs and containers side-by-side with seamless network stitching.
  • Zero-touch provisioning — Nodes boot fully configured. No pre-baked images or manual setup.
  • Minimal boilerplate — Sane defaults mean most nodes need only a name and model.
  • Multi-vendor support — Cisco, Arista, Juniper, Nokia, Sonic, Palo Alto, and many more.
  • Scales up — Build topologies with hundreds of nodes.
  • Multiplayer — Multiple users on the same server, each with their own isolated labs.

Getting Started

Head to the Quickstart guide for the full walkthrough.

Source Code