Farrow 0.5.0
Pre-releaseFarrow 0.5.0
Farrow 0.5.0 makes complete lab disposal explicit, makes repository geography
an operator choice, and adds a reproducible path for preparing the next
official guest images. The Pigsty Inventory contract, deployment state format,
and embedded Catalog revision 2026082903 are unchanged.
中文说明见下文。
Highlights
- One command to discard a lab.
farrow purge(aliasfarrow rm) removes
the complete applied deployment, persistent data disks, deployment keys and
state, and the default SSH fragment without asking for confirmation. It
keeps the verified image cache and host-global network, succeeds when no
deployment exists, and still refuses residual node artifacts whose identity
cannot be proven. - Explicit global and China repositories. The default official repository
is nowhttps://repo.pigsty.io/farrow; long-only--mirrorselects
https://repo.pigsty.cc/farrow. Precedence is--repo,--mirror,
FARROW_REPO, then the global default. Both official URLs retain canonical
signed-Catalog trust. - No hidden artifact fallback. Catalog upstream URLs are build provenance,
not an alternate download path. Once a repository is selected, Farrow either
verifies its exact Catalog-named qcow2 or reports that the artifact is
absent; use--mirror,--repo, orimage importdeliberately. - Eight official image candidates. The source tree now contains a
digest-pinned matrix and offline builder for Debian 12/13 and Rocky Linux
8/9 on amd64/arm64. It installs an exact offline package closure, emits SBOM
and provenance records, and assembles a separate unsignedtesting
repository for native smoke and signing review. - Current Go toolchain. Source and release workflows use Go 1.27.1,
GoReleaser 2.18.0, golangci-lint 2.13.2, and current selected Go modules.
Image-candidate details
- Debian 12/13 candidates include the XFS userspace required when a data disk
explicitly requests XFS. - Rocky Linux 8 candidates provide
/usr/bin/python3, remove legacy interface
naming state, and make the SSH drop-in Include effective. Rocky Linux 9
candidates remove the same legacy networking state. - The matrix and builder are release tooling, not new published Catalog bytes.
The candidates remaintestinguntil native smoke, reproducibility review,
production signing, artifact upload, and Catalog publication complete.
Operational notes
purgeis intentionally non-interactive and irreversible for deployment
disks and keys. Use the confirmedfarrow destroypath when preserving
persistent disks or removing selected nodes.- Existing cached images and activated Catalog state remain usable. New
downloads use the global repository unless--mirror,--repo, or
FARROW_REPOselects another root. - No state, Inventory, or Catalog migration is required from 0.4.0.
Install or upgrade
Download install.sh from this Release, then run:
chmod +x install.sh
FARROW_VERSION=0.5.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/.
Verification boundary
The tag workflow checks out the exact tag commit, reruns make check, builds
and verifies all archives, native Linux packages, SBOMs, the Homebrew formula,
installer, release metadata, and final checksums, then creates an immutable
draft. Because 0.5.0 is below 1.0.0, it remains a GitHub pre-release. The draft
is published only after the workflow and public asset checks pass.
The repository-selection, purge, and image-builder paths have automated source
coverage. This release does not claim a new native VM lifecycle replay or that
the eight image candidates have been published.
Farrow 0.5.0(中文)
Farrow 0.5.0 为整套实验环境提供明确的一键处置命令,让仓库地域成为操作者的显式选择,
并加入可复现的下一代官方 Guest 镜像准备路径。Pigsty Inventory 契约、Deployment 状态格式
与内嵌 Catalog revision 2026082903 均未变化。
亮点
- 一条命令处置整套实验室。
farrow purge(别名farrow rm)无需确认,删除完整
Applied Deployment、持久数据盘、Deployment 密钥与状态,以及默认 SSH Fragment;已校验
镜像缓存和宿主全局网络仍然保留。没有 Deployment 时幂等成功,但无法证明身份的遗留节点
工件仍会被拒绝,而不是按路径盲删。 - 显式选择全球与中国仓库。 默认官方仓库改为
https://repo.pigsty.io/farrow;仅提供
长参数的--mirror选择https://repo.pigsty.cc/farrow。优先级依次为--repo、
--mirror、FARROW_REPO、全球默认仓库;两个官方 URL 都保持规范的签名 Catalog 信任。 - 不再隐式回退工件源。 Catalog 中的 Upstream URL 是构建溯源,不是备用下载路径。
仓库一旦选定,Farrow 只校验该仓库中 Catalog 指定的准确 qcow2;缺失时直接报错,请显式
使用--mirror、--repo或image import。 - 八个官方镜像 Candidate。 源码新增 Debian 12/13、Rocky Linux 8/9 在
amd64/arm64 上的摘要锁定矩阵与离线 Builder。它安装准确的离线软件包闭包,生成 SBOM
与 Provenance,并组装独立、未签名的testing仓库,留待真机 Smoke 与签名审查。 - 当前 Go 工具链。 源码与发布工作流使用 Go 1.27.1、GoReleaser 2.18.0、
golangci-lint 2.13.2 与当前选定的 Go 模块版本。
镜像 Candidate 细节
- Debian 12/13 Candidate 包含数据盘显式请求 XFS 时所需的 XFS 用户态工具。
- Rocky Linux 8 Candidate 提供
/usr/bin/python3、移除旧网卡命名状态,并让 SSH
Drop-in Include 生效;Rocky Linux 9 Candidate 同样移除旧网络状态。 - 这套矩阵与 Builder 是发布工具,并不是新的已发布 Catalog 字节。Candidate 在完成真机
Smoke、可复现性审查、生产签名、工件上传与 Catalog 发布前始终保持testing。
运维说明
purge刻意设计为无交互操作,会不可逆删除 Deployment 磁盘与密钥。若要保留持久盘或
只删除部分节点,请继续使用带确认的farrow destroy。- 现有缓存镜像与已激活 Catalog 仍可使用。新的下载默认走全球仓库,除非通过
--mirror、--repo或FARROW_REPO选择其他根。 - 从 0.4.0 升级无需迁移状态、Inventory 或 Catalog。
安装或升级
从本 Release 下载 install.sh,然后运行:
chmod +x install.sh
FARROW_VERSION=0.5.0 ./install.sh
farrow version
farrow doctor同一 Release 还附带 Homebrew Formula 与 amd64/arm64 DEB/RPM 软件包。完整安装与权限
边界见 https://farrow.pgsty.com/docs/start/tutorial/。
验证边界
Tag 工作流检出准确 Tag Commit,重跑 make check,构建并验证全部 Archive、Linux 原生
Package、SBOM、Homebrew Formula、Installer、Release Metadata 与最终 Checksum,随后创建
不可变 Draft。由于 0.5.0 低于 1.0.0,它仍是 GitHub Pre-release;只有工作流与公开资产
检查通过后才会正式公开草稿。
仓库选择、purge 与镜像 Builder 路径都有自动化源码覆盖。本次发布不声称新增真机 VM
生命周期重放,也不声称八个镜像 Candidate 已经发布。