Start
Quick Start, daily operations, automation, storage, troubleshooting, images, and cleanup.
Barn 0.9.0 · Release candidate · Go + QEMU
Barn boots a Pigsty-compatible inventory into fixed-IP QEMU virtual machines on macOS and Linux. Use the same inventory to provision your VMs with Barn and deploy services with Pigsty.
Ubuntu 24.04 by default. Repeat barn up to continue interrupted setup and retry limited guest features without restarting healthy VMs.
The current model
Barn targets one trusted local Pigsty lab, not a general-purpose cloud control plane.
Two top-level sections
Documentation stays compact and current; the blog adds design reasoning, technical articles, and release history.
Quick Start, daily operations, automation, storage, troubleshooting, images, and cleanup.
Inventory variables, commands, flags, output, and exit codes.
The simplified model, native test matrix, limits, and release gates.
Boot with up, connect with ssh, then scale from the same inventory.
Defaults, disks, shares, naming, addressing, and drift.
Accepted design records, project articles, development snapshots, and release notes.
Normal path
Prepare the Barn 0.9.0 candidate from source as described in the Quick Start, then run these commands in an empty directory on a terminal for your first deployment. Interactive up prepares missing host dependencies and creates the default inventory when no deployment exists.
barn up
barn ssh
Add host lines and run up again; new nodes are created, stopped selected nodes start, and running peers keep their processes while unfinished setup is retried. Removing a line never destroys a VM.
Product boundaries
The Pigsty inventory is the VM specification and deployment inventory.
Add nodes with up; apply definition changes with recreate and remove nodes with destroy.
Process identity, ownership, paths, and network manifests are verified before mutation.
Native HVF/KVM by default; catalogued or requested TCG is always visible.
Short answers
No. State is one deployment under ~/.barn. An explicit or discovered Inventory supplies desired state; without one, lifecycle commands can fall back to the applied spec.
Yes. Barn consumes the documented VM fields plus a small naming, control-node, and node-admin whitelist; other Pigsty settings stay opaque.
It can install missing dependencies and fixed-IP networking, requesting sudo when needed. Use setup –dry-run to inspect the host plan first. The optional hosts helper is installed only by hosts install.
It prepares the virtual machines and guest access. Deploy PostgreSQL and other services separately with Pigsty; the built-in templates describe VM topology.
No. It is a pre-1.0 local development runtime; read the status page for the exact verified matrix and open release gates.
Start with two commands.Build the 0.9.0 candidate from source; after release, install Barn, start with up, and connect with ssh.