Skip to content

Pre-1.0 · Native Go + QEMU

One inventory. One deployment.

Farrow boots a Pigsty-compatible inventory into fixed-IP QEMU virtual machines on macOS and Linux. The same file describes the VMs and deploys Pigsty; there is no project model or second configuration to reconcile.

The simplified line was last native-replayed on macOS arm64 and Ubuntu amd64 on 2026-08-27; no public v1 package exists yet.

Native validation and limits

The current model

Less machinery, clearer behavior

Farrow targets one trusted local Pigsty lab, not a general-purpose cloud control plane.

1inventoryfarrow.yml or pigsty.ymlDetails
1deployment per userstate under ~/.farrowDetails
4nodes replayedadditive scale-outDetails
2native hostsmacOS arm64 + Linux amd64Details

Two top-level sections

Documentation and blog

Documentation has only three directories; the blog keeps historical updates separate from the current contract.

Install and operate

Start

Installation, tutorial, daily operations, and troubleshooting.

Open

Exact contracts

Reference

Inventory variables, commands, flags, output, and exit codes.

Open

Design and evidence

About

The simplified model, native test matrix, limits, and release gates.

Open

One node to four

Tutorial

The shortest complete beginner path, including Pigsty handoff.

Open

vm_* fields

Configuration

Defaults, disks, shares, naming, addressing, and drift.

Open

Historical updates

Blog

Development snapshots and release notes, kept outside the current docs.

Open

Normal path

Prepare once, then boot

Run these commands beside farrow.yml or pigsty.yml.

farrow setup
farrow up
farrow status

Add host lines and run up again; new nodes are created, stopped selected nodes start, and running peers stay untouched. Removing a line never destroys a VM.

Product boundaries

Deliberate constraints

01

One fact

The Pigsty inventory is the VM specification and deployment inventory.

02

Node-granular

Additions are incremental; changes and deletion require explicit commands.

03

Owned

Process identity, ownership, paths, and network manifests are verified before mutation.

04

Native

HVF or KVM only; no silent cross-architecture emulation.

Short answers

Before you begin

Is the working directory still a Farrow project?

No. State is one deployment under ~/.farrow. An explicit or discovered Inventory supplies desired state; without one, lifecycle commands can fall back to the applied spec.

Can I use pigsty.yml directly?

Yes. Farrow consumes the documented VM fields plus a small naming, control-node, and node-admin whitelist; other Pigsty settings stay opaque.

Does setup modify the host?

Yes. It prints and confirms dependency, fixed-IP network, and hosts-helper changes. Linux network smoke failures are rolled back through the ownership manifest.

Is Farrow ready for production?

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 one file and three commands.Follow the concise tutorial, then keep the reference nearby.