Skip to content

Commit 2174706

Browse files
committed
docs: publish Farrow 0.5.0
1 parent 418eacc commit 2174706

12 files changed

Lines changed: 218 additions & 26 deletions

File tree

.github/workflows/pages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ jobs:
2121
HUGO_VERSION: 0.165.0
2222
steps:
2323
- name: Checkout
24-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2525
with:
2626
fetch-depth: 0
2727

2828
- name: Setup Go
2929
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
3030
with:
31-
go-version: '1.27.0'
31+
go-version: '1.27.1'
3232

3333
- name: Setup Hugo Extended
3434
run: |

content/blog/release/farrow-0.4.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tags: [Farrow 0.4.0, QEMU, UX, Release]
99
icon: fa-solid fa-rocket
1010
---
1111

12-
Farrow 0.4.0 is the current public pre-1.0 release. It makes the first run one
12+
Farrow 0.4.0 was the public pre-1.0 release superseded by 0.5.0. It makes the first run one
1313
command, fixes the default data disk on Debian and Ubuntu images, and gives every
1414
command the same output style. The Pigsty Inventory format, the fixed-IP
1515
deployment model, the state layout, and the embedded Catalog revision

content/blog/release/farrow-0.4.0.zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tags: [Farrow 0.4.0, QEMU, 体验, 发布]
99
icon: fa-solid fa-rocket
1010
---
1111

12-
Farrow 0.4.0 是当前公开的 pre-1.0 发布。它把首次运行压缩为一条命令,修复了 Debian 与
12+
Farrow 0.4.0 是被 0.5.0 取代的公开 pre-1.0 发布。它把首次运行压缩为一条命令,修复了 Debian 与
1313
Ubuntu 镜像上的默认数据盘,并让全部命令使用同一套输出风格。Pigsty Inventory 格式、
1414
固定 IP Deployment 模型、状态布局与内嵌 Catalog revision `2026082903` 均未变化。
1515

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
title: "Farrow 0.5.0: explicit disposal, explicit repositories, reproducible images"
3+
linkTitle: Farrow 0.5.0
4+
description: A no-confirmation whole-lab purge, explicit global and China repository selection, no hidden artifact fallback, and an eight-target official-image candidate pipeline.
5+
date: 2026-09-03
6+
weight: 1
7+
categories: [Release]
8+
tags: [Farrow 0.5.0, QEMU, Images, Supply Chain, Release]
9+
icon: fa-solid fa-rocket
10+
---
11+
12+
Farrow 0.5.0 is the current public pre-1.0 release. It adds an explicit command
13+
for disposable labs, makes repository geography an operator choice, and adds a
14+
reproducible path for preparing the next official guest images. The Pigsty
15+
Inventory contract, deployment state format, and embedded Catalog revision
16+
`2026082903` are unchanged.
17+
18+
## What changed
19+
20+
- `farrow purge` (alias `farrow rm`) removes the complete deployment,
21+
persistent data disks, deployment keys and state, and the default SSH
22+
fragment without confirmation. The verified image cache and host-global
23+
network remain. Absence is idempotent, while unidentifiable residual node
24+
artifacts still fail closed.
25+
- Released binaries use `https://repo.pigsty.io/farrow` by default. Long-only
26+
`--mirror` selects `https://repo.pigsty.cc/farrow`; `--repo` remains the
27+
highest-precedence override, followed by `--mirror`, `FARROW_REPO`, and the
28+
global default. Both official roots keep canonical signed-Catalog trust.
29+
- Catalog upstream URLs are provenance, not a fallback. A selected repository
30+
must contain the exact Catalog-named qcow2 or the pull fails with guidance to
31+
choose another root or import a local image.
32+
- The source tree now has a digest-pinned offline builder for Debian 12/13 and
33+
Rocky Linux 8/9 on amd64/arm64. It records the exact package closure, SBOM,
34+
provenance, and `testing` manifest, and can assemble an unsigned candidate
35+
repository for later native smoke and signing review.
36+
- The pinned source/release toolchain moves to Go 1.27.1, GoReleaser 2.18.0,
37+
golangci-lint 2.13.2, and current selected Go modules.
38+
39+
## Image boundary
40+
41+
The eight-target matrix fixes concrete guest prerequisites: Debian 12/13 gain
42+
the XFS userspace needed for explicitly XFS-formatted data disks; Rocky Linux 8
43+
gains `/usr/bin/python3`, working SSH drop-in inclusion, and clean interface
44+
naming state; Rocky Linux 9 receives the same legacy-network cleanup.
45+
46+
Those are candidate-build inputs, not newly published Catalog artifacts. Every
47+
result remains unsigned and `testing` until native boot/readiness smoke,
48+
repeat-build comparison, production signing, upload, and Catalog publication
49+
complete.
50+
51+
## Upgrade and disposal
52+
53+
No state, Inventory, or Catalog migration is required from 0.4.0. Existing
54+
cached images remain usable. New downloads use the global repository unless
55+
`--mirror`, `--repo`, or `FARROW_REPO` selects another root.
56+
57+
`purge` is deliberately non-interactive and irreversible for deployment disks
58+
and keys. Continue to use confirmed `farrow destroy` when preserving persistent
59+
disks or removing selected nodes.
60+
61+
## Verification boundary
62+
63+
Release source commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1` passed the
64+
complete local source gate: module and shell checks, unit and race tests, vet,
65+
Staticcheck, deadcode, errcheck, `govulncheck`, four target builds, simulated
66+
image-pipeline boundaries, installer tests, and exact dependency-license
67+
verification. GoReleaser 2.18.0 also accepted the release configuration.
68+
69+
The tag workflow independently repeats those checks and builds and verifies
70+
every archive, native package, SBOM, formula, installer, release metadata file,
71+
and checksum before the pre-release is published. No new native VM lifecycle
72+
replay or published-image claim is inherited from these source gates.
73+
74+
## Install or upgrade
75+
76+
Download the installer and assets from the
77+
[Farrow 0.5.0 GitHub Release](https://github.com/pgsty/farrow/releases/tag/v0.5.0):
78+
79+
```bash
80+
curl -fLO https://github.com/pgsty/farrow/releases/download/v0.5.0/install.sh
81+
chmod +x install.sh
82+
FARROW_VERSION=0.5.0 ./install.sh
83+
farrow version
84+
farrow doctor
85+
```
86+
87+
The same pre-release includes the Homebrew formula and amd64/arm64 DEB/RPM
88+
packages.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: "Farrow 0.5.0:显式处置、显式仓库、可复现镜像"
3+
linkTitle: Farrow 0.5.0
4+
description: 无需确认的整套实验室处置、全球与中国仓库显式选择、无隐藏工件回退,以及八目标官方镜像候选流水线。
5+
date: 2026-09-03
6+
weight: 1
7+
categories: [发布]
8+
tags: [Farrow 0.5.0, QEMU, 镜像, 供应链, 发布]
9+
icon: fa-solid fa-rocket
10+
---
11+
12+
Farrow 0.5.0 是当前公开的 pre-1.0 发布。它为一次性实验室加入明确处置命令,让仓库地域
13+
成为操作者的显式选择,并提供可复现的下一代官方 Guest 镜像准备路径。Pigsty Inventory
14+
契约、Deployment 状态格式与内嵌 Catalog revision `2026082903` 均未变化。
15+
16+
## 变化
17+
18+
- `farrow purge`(别名 `farrow rm`)无需确认,删除完整 Deployment、持久数据盘、
19+
Deployment 密钥与状态,以及默认 SSH Fragment;已校验镜像缓存与宿主全局网络仍然保留。
20+
没有 Deployment 时幂等成功,无法证明身份的遗留节点工件仍会 Fail-closed。
21+
- Release 二进制默认使用 `https://repo.pigsty.io/farrow`。仅有长参数的 `--mirror` 选择
22+
`https://repo.pigsty.cc/farrow`;优先级依次为 `--repo``--mirror``FARROW_REPO`
23+
全球默认仓库。两个官方根都保持规范的签名 Catalog 信任。
24+
- Catalog Upstream URL 只用于溯源,不再作为回退。选定仓库必须包含 Catalog 指定的准确
25+
qcow2,否则拉取会失败,并提示显式选择其他仓库或导入本地镜像。
26+
- 源码新增 Debian 12/13、Rocky Linux 8/9 在 amd64/arm64 上的摘要锁定离线 Builder。
27+
它记录准确软件包闭包、SBOM、Provenance 与 `testing` Manifest,并可组装未签名候选仓库,
28+
留待真机 Smoke 与签名审查。
29+
- 固定的源码/发布工具链升级到 Go 1.27.1、GoReleaser 2.18.0、golangci-lint 2.13.2
30+
与当前选定的 Go 模块版本。
31+
32+
## 镜像边界
33+
34+
八目标矩阵修复具体 Guest 前置条件:Debian 12/13 加入显式 XFS 数据盘所需的 XFS 用户态
35+
工具;Rocky Linux 8 加入 `/usr/bin/python3`、有效的 SSH Drop-in Include 与干净网卡命名
36+
状态;Rocky Linux 9 同样清理旧网络状态。
37+
38+
这些是 Candidate 构建输入,不是新发布的 Catalog 工件。每份结果在完成真机启动/就绪
39+
Smoke、双构建比较、生产签名、上传与 Catalog 发布前,始终保持未签名和 `testing`
40+
41+
## 升级与处置
42+
43+
从 0.4.0 升级无需迁移状态、Inventory 或 Catalog,现有缓存镜像仍可使用。新的下载默认走
44+
全球仓库,除非用 `--mirror``--repo``FARROW_REPO` 选择其他根。
45+
46+
`purge` 刻意设计为无交互操作,会不可逆删除 Deployment 磁盘与密钥。若要保留持久盘或只
47+
删除部分节点,请继续使用带确认的 `farrow destroy`
48+
49+
## 验证边界
50+
51+
Release 源码 Commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1` 已通过完整本地源码
52+
门禁:模块与 Shell 检查、单测与 Race、Vet、Staticcheck、deadcode、errcheck、
53+
`govulncheck`、四目标构建、模拟镜像流水线边界、Installer 测试与准确依赖许可证校验;
54+
GoReleaser 2.18.0 也接受了发布配置。
55+
56+
Tag 工作流会独立重复这些检查,并在公开 Pre-release 前构建、验证全部 Archive、原生
57+
Package、SBOM、Formula、Installer、Release Metadata 与 Checksum。源码门禁不会自动继承
58+
新的真机 VM 生命周期证据,也不代表镜像 Candidate 已发布。
59+
60+
## 安装或升级
61+
62+
[Farrow 0.5.0 GitHub Release](https://github.com/pgsty/farrow/releases/tag/v0.5.0)
63+
下载 Installer 与资产:
64+
65+
```bash
66+
curl -fLO https://github.com/pgsty/farrow/releases/download/v0.5.0/install.sh
67+
chmod +x install.sh
68+
FARROW_VERSION=0.5.0 ./install.sh
69+
farrow version
70+
farrow doctor
71+
```
72+
73+
同一 Pre-release 附带 Homebrew Formula 与 amd64/arm64 DEB/RPM 软件包。

content/docs/about/status.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ and the public site are separate gates. Install instructions are in the
1111
[Quick Start](../../start/tutorial/#install).
1212

1313
The current public release is
14-
[`v0.4.0`](https://github.com/pgsty/farrow/releases/tag/v0.4.0). Its source and
15-
package gates passed at commit `8ecb8476c7dbc934d8cbbee935ac53884d00fcdb`;
14+
[`v0.5.0`](https://github.com/pgsty/farrow/releases/tag/v0.5.0). Its source and
15+
package gates passed at commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1`;
1616
the native-host rows below remain the latest dated VM evidence rather than
17-
being implicitly promoted to 0.4.0.
17+
being implicitly promoted to 0.5.0.
1818

1919
## Summary
2020

@@ -49,6 +49,23 @@ custody must be formalized before 1.0.
4949
Each entry belongs to the exact checkpoint exercised that day. Later source or
5050
documentation edits do not inherit native proof without another replay.
5151

52+
### Farrow 0.5.0 release — 2026-09-03
53+
54+
Exact commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1` passed both main-branch
55+
workflows before tagging: the complete Go 1.27.1 source gate and the independent
56+
GoReleaser snapshot/package path. The exact tag workflow then repeated the
57+
source/toolchain checks, built and verified four platform archives, four native
58+
Linux packages, eight SPDX documents, the Homebrew formula, installer,
59+
`release.json`, and the 19-entry checksum manifest before creating the
60+
20-asset pre-release.
61+
62+
0.5.0 adds no-confirmation whole-deployment `purge`/`rm`, makes the global
63+
`repo.pigsty.io` default and China `--mirror` explicit, removes hidden Catalog
64+
upstream fallback, and adds the digest-pinned eight-target Debian/Rocky official
65+
image candidate builder. The builder results remain unsigned `testing`
66+
candidates; no image Catalog or native VM lifecycle result is promoted by this
67+
application release.
68+
5269
### Farrow 0.4.0 release — 2026-09-02
5370

5471
The exact tag commit passed `make check` and the release workflow's archive,

content/docs/about/status.zh.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ aliases: [/docs/project/, /docs/project/status/, /docs/project/roadmap/, /docs/p
99
Farrow 仍是 pre-1.0。源码测试、带日期的真机重放、软件包、发布、CI 与线上站点是不同门禁。
1010
安装方法见[快速上手](../../start/tutorial/#安装)
1111

12-
当前公开版本为 [`v0.4.0`](https://github.com/pgsty/farrow/releases/tag/v0.4.0)。其源码与
13-
Package 门禁在 Commit `8ecb8476c7dbc934d8cbbee935ac53884d00fcdb` 通过;下表真机记录
14-
仍是最新的带日期 VM 证据,不会被自动提升为 0.4.0 证据。
12+
当前公开版本为 [`v0.5.0`](https://github.com/pgsty/farrow/releases/tag/v0.5.0)。其源码与
13+
Package 门禁在 Commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1` 通过;下表真机记录
14+
仍是最新的带日期 VM 证据,不会被自动提升为 0.5.0 证据。
1515

1616
## 概览
1717

@@ -43,6 +43,19 @@ Package 门禁在 Commit `8ecb8476c7dbc934d8cbbee935ac53884d00fcdb` 通过;下
4343

4444
每条记录只属于当天真正执行过的准确 Checkpoint;后续源码或文档修改不会自动继承真机证明。
4545

46+
### Farrow 0.5.0 发布:2026-09-03
47+
48+
准确 Commit `fc85b65ff6a24b0933b56ae1179be9ada2ba91b1` 在打 Tag 前同时通过主干的完整
49+
Go 1.27.1 源码门禁与独立 GoReleaser Snapshot/Package 路径。准确 Tag 工作流随后再次执行
50+
源码/工具链检查,构建并验证四个平台 Archive、四份 Linux 原生 Package、八份 SPDX、
51+
Homebrew Formula、Installer、`release.json` 与 19 项 Checksum Manifest,最后创建包含
52+
20 个资产的 Pre-release。
53+
54+
0.5.0 加入无需确认的整套 Deployment `purge`/`rm`,明确全球 `repo.pigsty.io` 默认仓库与
55+
中国 `--mirror`,移除隐藏的 Catalog Upstream 回退,并加入摘要锁定的 Debian/Rocky 八目标
56+
官方镜像 Candidate Builder。Builder 结果仍是未签名的 `testing` Candidate;本次应用发布
57+
不会提升任何镜像 Catalog 或真机 VM 生命周期结果。
58+
4659
### Farrow 0.4.0 发布:2026-09-02
4760

4861
精确 Tag Commit 通过 `make check`,以及发布工作流的 Archive、DEB/RPM、SBOM、Checksum、

content/docs/start/source-build.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ pre-1.0; see [Status](../../about/status/) for public-package availability.
1111

1212
## Build
1313

14-
You need Go 1.27.x, Git, Make, and standard build tools. From a source checkout:
14+
The current tree pins Go 1.27.1. You also need Git, Make, and standard build
15+
tools. From a source checkout:
1516

1617
```bash
1718
cd /path/to/farrow

content/docs/start/source-build.zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Farrow 当前仍是 pre-1.0,公开软件包状态见[当前状态](../../about
1010

1111
## 构建
1212

13-
需要 Go 1.27.x、Git、Make 与标准构建工具。在源码工作区执行:
13+
当前源码准确固定 Go 1.27.1;此外需要 Git、Make 与标准构建工具。在源码工作区执行:
1414

1515
```bash
1616
cd /path/to/farrow

content/docs/start/tutorial.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,25 @@ aliases: [/docs/start/installation/, /docs/start/upgrade/, /docs/start/lab/, /do
1111

1212
Farrow is pre-1.0. Every release ships a user-scoped installer, a Homebrew
1313
formula, and DEB/RPM packages as release assets. Download them from the
14-
[Farrow 0.4.0 Release](https://github.com/pgsty/farrow/releases/tag/v0.4.0),
14+
[Farrow 0.5.0 Release](https://github.com/pgsty/farrow/releases/tag/v0.5.0),
1515
then pick one path:
1616

1717
```bash
1818
# From a release: user-scoped, no sudo, checksum-verified
19-
curl -fLO https://github.com/pgsty/farrow/releases/download/v0.4.0/install.sh
19+
curl -fLO https://github.com/pgsty/farrow/releases/download/v0.5.0/install.sh
2020
chmod +x install.sh
21-
FARROW_VERSION=0.4.0 ./install.sh
21+
FARROW_VERSION=0.5.0 ./install.sh
2222

2323
# Homebrew formula (shipped as a release asset)
2424
brew install --formula ./farrow.rb
2525

2626
# Debian/Ubuntu and RHEL-family packages are release assets too
27-
sudo apt install ./farrow_0.4.0_linux_amd64.deb
28-
sudo dnf install ./farrow_0.4.0_linux_amd64.rpm
27+
sudo apt install ./farrow_0.5.0_linux_amd64.deb
28+
sudo dnf install ./farrow_0.5.0_linux_amd64.rpm
2929
```
3030

3131
GitHub does not expose pre-1.0 prereleases through `/releases/latest`, so the
32-
installer needs `FARROW_VERSION=0.4.0`. Use [Build from Source](../source-build/)
32+
installer needs `FARROW_VERSION=0.5.0`. Use [Build from Source](../source-build/)
3333
for development and source review.
3434

3535
## Boot the first lab

0 commit comments

Comments
 (0)