Farrow 0.4.0: one command, working data disks, one voice
Farrow 0.4.0 was the public pre-1.0 release superseded by 0.5.0. It makes the first run one
command, fixes the default data disk on Debian and Ubuntu images, and gives every
command the same output style. The Pigsty Inventory format, the fixed-IP
deployment model, the state layout, and the embedded Catalog revision
2026082903 are unchanged.
What changed
- On a terminal,
farrow uprunsfarrow setupitself when the fixed-IP network has never been installed, shows the setup plan, asks before the privileged step, and then continues.farrow initpoints atfarrow up. vm_disks[].fsdefaults toauto: a blank disk is formatted XFS when the guest hasmkfs.xfsand ext4 otherwise, the same choice Pigsty’s Vagrant flow makes. The oldxfsdefault failed on Debian and Ubuntu images, which ship without xfsprogs. Deployments created with the old default are not reported as drift and their persistent disks stay compatible.- The guest error marker carries the failing command’s last message, so
upreportsguest bootstrap failed during data-disks: xfs requested but mkfs.xfs is unavailableinstead of an exit status. - Lifecycle commands and
statusprint a node table and, afterup, anext: farrow ssh <node>hint.planandvalidateprint one line when nothing changes;image list,network status,doctor, and preflight errors use plain sentences without machine codes;spec hashand other internals moved to--json. Errors about an unknown node list the nodes. farrow ssh <node> -- 'df -h /data; id'passes the remote command exactly as OpenSSH does.
Upgrading
A d13, d12, or Ubuntu node created by 0.3.0 or earlier whose /data never
mounted needs one farrow recreate <node>; the disk is then formatted ext4 on
those images and XFS on Enterprise Linux images. Automation that runs up on an
unprepared host without a terminal still needs farrow setup --yes first.
Verification boundary
Source commit 8ecb8476c7dbc934d8cbbee935ac53884d00fcdb passed the complete
local source gate: unit and race tests, vet, Staticcheck, deadcode, errcheck,
govulncheck, shell and module checks, four target builds, the image-pipeline
and installer boundaries, and dependency licenses. The tag workflow repeated
those checks and built and verified every archive, native package, SBOM, and
the installer before the Release was made public.
The new first-run path (up running setup) is covered by unit tests and was
not replayed on a fresh host before this release. The dated macOS arm64/HVF and
Ubuntu amd64/KVM evidence remains listed on the
Status page; source, package, release, and
native-host evidence remain separate gates.
Install or upgrade
Download the installer and assets from the Farrow 0.4.0 GitHub Release:
Homebrew formula and amd64/arm64 DEB/RPM packages are attached to the same pre-release. Existing deployment and Catalog state remains readable.