Skip to content

Barn 0.2.0: selected convergence and release integrity

VPN-aware network preflight, truly selected scale-out, committed-state integrations, checksum-verified multi-platform artifacts, and the 0.1.0 upgrade boundary.
Note

Historical release record (0.2.0). Old release downloads are retired; use the installation guide for the current release.

Barn 0.2.0 keeps the Pigsty inventory and on-disk deployment format introduced in 0.1.0 while fixing VPN route preflight false positives and selected-node convergence issues uncovered during native host testing.

What changed

  • VPN-aware route preflight. Broad VPN exclusion routes such as 10.0.0.0/8 no longer block Barn’s more specific 10.10.10.0/24 lab subnet. Equal or more-specific foreign routes, overlapping interfaces, occupied IP addresses, or a missing Barn route still fail preflight before any VM starts.
  • True selected-node scale-out. barn up <node> downloads images and prepares disks only for the targeted node. Uncreated inventory peers appear as absent, and SSH config, /etc/hosts, guest provisioning, UUID/port allocation, lifecycle commands, and persistent-disk checks operate strictly on the committed node set while leaving the full inventory intact for later expansion.
  • Updated /etc/hosts ownership markers. Newly provisioned guests write # barn-deployment-host and clean up both that marker and the 0.1.0 # barn-project-host marker when refreshing host entries.
  • Operational polish. Includes graceful command cancellation, structured JSON/YAML output, interactive confirmations, barn reload, diagnostic redaction, and a trimmed Go dependency graph.

Native and release evidence

  • macOS arm64/HVF (with MonoProxy active): verified selected u24-1 creation, SSH, stop/start, incremental cached el9-1 scale-out, two-node lateral SSH alongside five absent peers, and full deployment destroy.
  • Ubuntu 26.04 amd64/KVM: verified read-only inspection and control-node SSH against an existing four-node deployment.
  • CI and packaging: passed local make check, source CI, and the release packaging workflow, producing four platform archives, amd64/arm64 DEB and RPM packages, SPDX SBOMs, a Homebrew formula, install.sh, SHA-256 checksums, and release metadata.
  • Image catalog: embeds signed catalog revision 2026082903 (9 families, 27 architecture artifacts), with https://repo.pigsty.cc/barn as the default repository in 0.2.0 and https://repo.pgsty.com/barn verified as an alternate endpoint.

Install or upgrade

Download install.sh and the release assets from the Barn 0.2.0 GitHub Release:

chmod +x install.sh
BARN_VERSION=0.2.0 ./install.sh
barn version
barn doctor

0.1.0 deployment state remains directly readable; running barn status while existing VMs are up records any missing process birth timestamps, and existing guests adopt the new /etc/hosts marker the next time they are recreated.