Skip to content

Barn 0.6.0: Ubuntu 24.04 and smoother local labs

Ubuntu 24.04 defaults, useful plans before setup, clearer status, and reliable expansion and recreation.
Note

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

Barn 0.6.0 makes Ubuntu 24.04 the default guest image and improves planning, startup, scale-out, and node recreation for local Pigsty labs.

What changed

  • Ubuntu 24.04 by default. New inventories and the embedded catalog default to u24:stable. Catalog revision 2026090501 also bundles the normalized Debian 12/13 and Rocky Linux 8/9 image updates published in the official repositories.
  • Run plan before host setup. barn plan resolves catalog images without requiring QEMU or host networking to be installed first (registered local-* images still use qemu-img cache inspection). Plans display exact image versions, aggregate CPU/memory/disk totals, pending node starts, modified fields, and disk actions, while preserving custom -f inventory paths in suggested next commands.
  • Clearer status and error reporting. barn status includes image, CPU, and memory columns, and a damaged state file on one node no longer hides healthy peers—corrupt state errors name the exact file and cause. Image digest mismatches return exit code 7, SSH exit code 255 passes through unchanged, and --no-wait explicitly notes that readiness checks were skipped.
  • Preflight checks before disruption. Targeted recreate detects conflicting peer changes before deleting any disks, and reload validates startup dependencies before stopping running guests. stop, destroy, and runtime cleanup update deployment state consistently under the deployment lock.
  • Automatic guest /etc/hosts and SSH updates. Starting or removing nodes refreshes Barn-managed /etc/hosts blocks and control-node SSH configuration inside running guests, so recreated peers remain reachable without manually pruning guest known_hosts. User-authored SSH config entries and global option scopes remain intact.
  • Cleaner CLI parsing. Custom init output paths print matching follow-up commands, output flags no longer swallow adjacent option values, malformed integer sizes and multi-document YAML files are rejected rather than truncated, and ALL_PROXY/all_proxy acts as a fallback behind scheme-specific proxy variables and NO_PROXY.

Upgrade notes

Upgrading Barn leaves existing VM disks and explicit vm_image settings untouched. If an older inventory relied on the implicit Debian 13 default, add vm_image: d13 under all.vars before running barn up with 0.6.0. Always inspect barn plan before applying changes.

Applying CPU or memory changes requires barn recreate, which replaces root and non-persistent data disks while retaining persistent data disks. Passing --no-wait skips both readiness checks and guest /etc/hosts updates until the next barn up. Automation should consume --json or --yaml output; partial status results return healthy nodes alongside a failures array and exit code 5.

Install or upgrade

curl -fLO https://github.com/pgsty/barn/releases/download/v0.6.0/install.sh
chmod +x install.sh
BARN_VERSION=0.6.0 ./install.sh
barn version
barn doctor

The release also provides four platform archives, amd64/arm64 DEB and RPM packages, and a Homebrew formula. See the Linux tutorial to get started.

Validation

The lifecycle and UX changes passed code review and the full local make check suite. An isolated macOS arm64/HVF lab verified Ubuntu 24.04 boot, scale-out, control-to-peer SSH, stop/start, reload, recreate, partial status failure handling, and scale-in, and the guest SSH option-scoping fix was verified against sshd/ssh -G configuration evaluation.

The tag workflow repeated all source checks and verified the release archives, Linux packages, SBOMs, installer script, Homebrew formula, release metadata, and SHA-256 checksums.