Farrow 0.4.0
Pre-releaseFarrow 0.4.0
Farrow 0.4.0 makes the first run one command, makes the default data disk work
on every catalog image, and gives every command one output style. The Pigsty
Inventory format, the fixed-IP deployment model, the state layout, and the
embedded Catalog revision 2026082903 are unchanged.
中文说明见下文。
Highlights
- One command on a fresh host. On a terminal,
farrow upruns
farrow setupitself when the fixed-IP network has never been installed,
shows the setup plan, asks before the privileged step, and then continues.
farrow initnow points atfarrow upas the next step. - Data disks work out of the box.
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 oldxfs
default failed on Debian and Ubuntu images, which ship without xfsprogs, so
the default/datadisk never mounted there. Deployments created with the
old default are not reported as drift, and their persistent disks stay
compatible:automatches whatever the guest already formatted. - Readiness failures name the cause. The guest error marker carries the
failing command's last message, soupreports
guest bootstrap failed during data-disks: xfs requested but mkfs.xfs is unavailableinstead of an exit status and a pointer to the serial log. - One output style. Lifecycle commands and
statusprint a node table
(NAME STATE ADDRESS SSH ARCH PID) and, afterup, anext: farrow ssh <node>hint.planprints oneno changesline or only the rows that
change;validateprints one line;image listprints the catalog revision
and origin plus an aligned table;network status,doctor, and preflight
errors use plain sentences without machine codes.spec hashand other
internals are available in--jsononly. Errors about an unknown node list
the nodes the deployment has. farrow sshbehaves likessh.farrow ssh <node> -- 'df -h /data; id'
passes the remote command exactly as OpenSSH does.
Operational notes
- Without a terminal, or with
--json/--yaml,upon an unprepared host
still exits with therun farrow setuphint; automation runs
farrow setup --yesfirst. - A d13, d12, or Ubuntu node created by 0.3.0 or earlier whose
/datanever
mounted needs onefarrow recreate <node>; the disk is then formatted ext4
on those images and XFS on Enterprise Linux images. - Remote arguments to
sshandexecare now joined with spaces before ssh
sees them. Quote a shell line as you would forssh. - Catalog refresh remains explicit (
farrow update). Exit codes are unchanged.
Install or upgrade
Download install.sh from this Release, then run:
chmod +x install.sh
FARROW_VERSION=0.4.0 ./install.sh
farrow version
farrow doctorHomebrew 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.4.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 new first-run path (up running setup) passed unit tests and code
review but was not replayed on a fresh host before this release; the dated
native lifecycle matrix remains the evidence recorded on the documentation
Status page.
Farrow 0.4.0(中文)
Farrow 0.4.0 把首次运行压缩为一条命令,让默认数据盘在所有 Catalog 镜像上都能工作,
并给所有命令一套统一的输出风格。Pigsty Inventory 格式、固定 IP Deployment 模型、
状态布局与内嵌 Catalog revision 2026082903 均未变化。
亮点
- 新机器上只需一条命令。 在终端里,固定 IP 网络尚未安装时
farrow up会自己执行
farrow setup:展示 setup 计划、在特权步骤前确认,然后继续。farrow init的下一步
提示现在是farrow up。 - 数据盘开箱即用。
vm_disks[].fs默认值改为auto:空白磁盘在 Guest 有
mkfs.xfs时格式化为 XFS,否则为 ext4,与 Pigsty 的 Vagrant 流程一致。旧的xfs
默认值在不带 xfsprogs 的 Debian 与 Ubuntu 镜像上会失败,默认/data盘从未挂载。
按旧默认值创建的 Deployment 不会被报告为漂移,持久盘也保持兼容:auto与 Guest 已
格式化的任何文件系统都匹配。 - 就绪失败直接给出原因。 Guest 的错误标记携带失败命令的最后一行输出,
up会报告
guest bootstrap failed during data-disks: xfs requested but mkfs.xfs is unavailable,
而不是只有退出码和"去看串口日志"。 - 统一的输出风格。 生命周期命令与
status打印节点表(NAME STATE ADDRESS SSH ARCH PID),up成功后给出next: farrow ssh <node>。plan只打印一行
no changes或仅有变化的行;validate一行;image list打印 Catalog revision 与来源
加对齐表格;network status、doctor与预检错误使用没有机器码的自然语句。spec hash
等内部信息只在--json中出现。未知节点名的错误会列出现有节点。 farrow ssh与ssh行为一致。farrow ssh <node> -- 'df -h /data; id'会把远程
命令按 OpenSSH 的方式原样传递。
运维说明
- 没有终端,或使用
--json/--yaml时,在未准备好的宿主机上运行up仍以
run farrow setup提示退出;自动化请先运行farrow setup --yes。 - 由 0.3.0 或更早版本创建、
/data从未挂载的 d13、d12 或 Ubuntu 节点,运行一次
farrow recreate <node>即可;这些镜像上磁盘会格式化为 ext4,Enterprise Linux 镜像上
为 XFS。 ssh与exec的远程参数现在先以空格拼接再交给 ssh,引用方式与ssh相同。- Catalog 刷新仍然是显式的(
farrow update)。退出码未变化。
安装或升级
从本 Release 下载 install.sh,然后运行:
chmod +x install.sh
FARROW_VERSION=0.4.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.4.0 低于 1.0.0,GitHub 与 release.json 都将其标为 Pre-release;只有
这些检查和匿名资产下载通过后才可公开草稿。
新的首次运行路径(up 自动执行 setup)通过了单元测试与代码评审,但本次发布前未在
全新宿主机上重放;最新真机生命周期矩阵仍以文档 Status 页中的日期证据为准。