Skip to content

Farrow 0.3.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Sep 01:17

Farrow 0.3.0

Farrow 0.3.0 makes image-catalog access explicit, turns guest bootstrap
failures into actionable per-node diagnostics, and removes CLI surface that no
longer earns its complexity. The Pigsty Inventory format, fixed-IP deployment
model, and embedded Catalog revision 2026082903 remain unchanged.

中文说明见下文。

Highlights

  • No implicit Catalog network access. up, plan, and ordinary image
    commands open one local Catalog snapshot and never refresh metadata in the
    background. farrow update explicitly fetches the configured repository;
    farrow image sync remains the exact-URL/file recovery path.
  • Actionable readiness failures. Guests publish an atomic bootstrap stage,
    so Farrow reports failures such as guest bootstrap failed during data-disks immediately and points to farrow logs <node>. Already-running
    guests can be rechecked without restarting QEMU.
  • Accurate multi-node results. Partial operations report each failed node,
    stage, and error in text and structured output. Successful peers are kept,
    and the SSH client configuration is rebuilt from every committed node even
    after a partial lifecycle result.
  • Distribution-native interface names. Netplan matches deterministic MAC
    addresses without renaming guest interfaces. Runtime checks locate the
    private interface by MAC before validating its address, routes, and DNS.
  • Portable data-disk setup. vm_disks[].fs: auto prefers XFS and falls back
    to ext4 when the guest lacks mkfs.xfs; omitting fs keeps the released XFS
    default.
  • Smaller CLI. The redundant ss command and root aliases cp, h, i,
    and p are removed. --force, --rollback, --remove, and --name no
    longer reuse ambiguous short flags. image reset replaces
    reset-manifest, which remains an alias.

Operational notes

  • Catalog refresh is never automatic. Run farrow update when you want the
    configured repository's current Catalog.
  • --rollback is available on up and reload; it removes only safe prepare
    artifacts belonging to nodes that failed in that run.
  • Exit code 5 covers partial node completion and a post-lifecycle SSH
    integration failure. Exit code 7 remains integrity/ownership failure.
  • The default Catalog, image cache, deployment state, and retained 0.1/0.2
    compatibility readers are unchanged.

Install or upgrade

Download install.sh from this Release, then run:

chmod +x install.sh
FARROW_VERSION=0.3.0 ./install.sh
farrow version
farrow doctor

Homebrew formula and amd64/arm64 DEB/RPM packages are attached to the same
Release. Full installation and privilege details are at
https://farrow.pgsty.com/docs/start/tutorial/.

Release integrity

The tag workflow checks out the exact commit, reruns make check, builds and
verifies all archives, native Linux packages, SBOMs, the Homebrew formula, and
the installer, then writes checksums.txt before creating an immutable draft.
Because 0.3.0 is below 1.0.0, GitHub and release.json both classify it as a
pre-release. The draft must not be published until those checks and anonymous
asset downloads pass.

The latest native lifecycle matrix remains the dated evidence recorded on the
documentation Status page; source, package, release, and native-host evidence
remain separate gates.


Farrow 0.3.0(中文)

Farrow 0.3.0 将镜像 Catalog 访问改为完全显式,把 Guest Bootstrap 失败变成可操作的
逐节点诊断,并删除已经无法抵偿复杂度的 CLI 表面。Pigsty Inventory 格式、固定 IP
Deployment 模型与内嵌 Catalog revision 2026082903 均未变化。

亮点

  • Catalog 不再隐式联网。 upplan 与普通 image 命令只打开一份本地 Catalog
    快照,不在后台刷新元数据。farrow update 显式获取配置仓库;farrow image sync
    保留为精确 URL/文件恢复路径。
  • 就绪失败可以直接行动。 Guest 原子发布 Bootstrap 阶段,Farrow 可立即报告
    guest bootstrap failed during data-disks 等错误并指向 farrow logs <node>;已经
    运行的 Guest 可在不重启 QEMU 的情况下重新检查。
  • 准确的多节点结果。 部分失败在文本和结构化输出中携带每个失败节点、阶段与错误;
    成功节点保留,SSH 客户端配置即使在生命周期部分失败后也会根据全部 committed 节点重建。
  • 保留发行版原生网卡名。 Netplan 按确定性 MAC 匹配,不再重命名 Guest 网卡;运行时
    检查先按 MAC 找到私网接口,再验证地址、路由与 DNS。
  • 可移植的数据盘初始化。 vm_disks[].fs: auto 优先使用 XFS,Guest 缺少
    mkfs.xfs 时回退到 ext4;省略 fs 仍保持已发布的 XFS 默认值。
  • 更小的 CLI。 删除冗余 ss 命令和根别名 cphip--force
    --rollback--remove--name 不再复用含义模糊的短参数。image reset 取代
    reset-manifest,旧名称仍作为别名。

运维说明

  • Catalog 永不自动刷新;需要配置仓库当前 Catalog 时显式运行 farrow update
  • --rollback 用于 upreload,只删除本次运行中失败节点的安全 prepare 产物。
  • 退出码 5 表示节点操作或生命周期后 SSH 集成部分完成;退出码 7 仍表示完整性或
    属主失败。
  • 默认 Catalog、镜像缓存、Deployment 状态以及保留的 0.1/0.2 兼容读取器均未变化。

安装或升级

从本 Release 下载 install.sh,然后运行:

chmod +x install.sh
FARROW_VERSION=0.3.0 ./install.sh
farrow version
farrow doctor

同一 Release 还附带 Homebrew Formula 与 amd64/arm64 DEB/RPM 软件包。完整安装与权限
边界见 https://farrow.pgsty.com/docs/start/tutorial/

发布完整性

Tag 工作流检出精确 Commit,重跑 make check,构建并验证全部 Archive、Linux 原生
Package、SBOM、Homebrew Formula 与 Installer,然后生成 checksums.txt 并创建不可变
Draft。由于 0.3.0 低于 1.0.0,GitHub 与 release.json 都将其标为 Pre-release;只有
这些检查和匿名资产下载通过后才可公开草稿。

最新真机生命周期矩阵仍以文档 Status 页中的日期证据为准;源码、打包、发布与真机证据
继续作为不同门禁。