Skip to content

Farrow 0.8.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Sep 06:46

Farrow 0.8.0

Farrow 0.8.0 reduces manual recovery after interrupted setup and partial VM
starts, and refreshes the embedded operating-system catalog.

Farrow remains pre-1.0, so this release uses GitHub's pre-release channel.
Select FARROW_VERSION=0.8.0 when running the release installer. 中文说明见下文。

Changes

  • Interactive start, restart, and reload reuse host preparation and
    recovery. Scoped retry commands retain the inventory and repository.
  • Missing host shares affect their own nodes; independent nodes can continue.
    Destructive operations check replacement share access before stopping VMs.
  • Missing public keys are derived from the original private key. A lost
    deployment private key produces recovery guidance without changing VM identity.
  • macOS vmnet log-directory recovery preserves network ownership evidence.
    Temporary backend download failures retry within bounded limits.
  • macOS setup prepares Homebrew and the verified network archive before asking
    for administrator authentication, avoiding an invalidated sudo credential
    between preparation and network installation.
  • Uncached image information does not require QEMU. Local image errors retain
    their real cause and integrity classification.
  • Setup and retries share an operation ID; event logs work before deployment
    state exists. Partial success and final disk retention are reported accurately.
  • Catalog 2026092001 adds September Debian 12/13 and Ubuntu 22.04/24.04/26.04
    images for both architectures while retaining all previous artifacts. Debian
    keeps the offline XFS and locale adjustments; Ubuntu keeps upstream bytes.

Compatibility and validation

Existing VM identities and healthy disks are retained. start still powers on
existing nodes; up applies the inventory and retries guest setup. The existing
test-data-disk reset policy is unchanged. A missing control-node guest SSH key
is reported as a node-to-node SSH limitation while management access remains
usable; automatic private-key reinjection is not included.

macOS directory sharing remains unavailable with the tested QEMU descriptor
reopen behavior. The new preflight explains that limitation; it does not add
macOS sharing support. New macOS labs can use an inventory without vm_shares.

Four-host native acceptance passed on two macOS arm64/HVF hosts and two Linux
amd64/KVM hosts, with seven guests on each: Rocky Linux 9.8/10.2, Debian
12.15/13.7, and Ubuntu 22.04.5/24.04.5/26.04.1. The baseline candidate
6d7870e completed clean initialization from the LAN image repository; the
final runtime at 1c054a0 then passed in-place upgrade, repeated up,
stop/start, guest SSH, data-disk access, Ansible connections, and peer SSH.
VM UUIDs, base-image identities, and healthy root/data disks were preserved.
The publication commit updates only README and these release notes.

The UX audit and
image refresh record
retain the detailed evidence boundaries. Host reboot, a complete Pigsty
installation, and native macOS amd64/Linux arm64 runs were not replayed.
The Homebrew authentication-order fix has regression coverage; its fresh-host
Homebrew path was not replayed after the fix. Native macOS setup used a
verified LAN backend archive. The seven-guest profile used no host shares.

From a clean checkout at the release tag, with the pinned toolchain available:

make check
make release-local VERSION=0.8.0

The local release target verifies archives, Linux packages, checksums, and
SBOMs without publishing. The tag workflow independently builds and verifies
the assets attached to this release.


Farrow 0.8.0(中文)

Farrow 0.8.0 减少初始化中断和部分节点启动失败后的手工恢复,并更新内置操作系统镜像。
Farrow 仍处于 1.0 之前,本版沿用 GitHub pre-release 通道;运行发布安装器时显式指定
FARROW_VERSION=0.8.0。

主要变化

  • 交互式 start、restart、reload 复用宿主准备和恢复;重试命令保留配置与仓库参数。
  • 缺失的宿主共享只影响相关节点,独立节点继续;破坏性操作先验证替代共享能否打开。
  • 公钥丢失时从原私钥恢复;部署私钥丢失时提供恢复指引,不生成新的 VM 登录身份。
  • macOS vmnet 日志目录恢复保留网络归属证据,临时网络后端下载失败进行有限重试。
  • macOS setup 在 Homebrew 和网络归档准备、校验完成后才请求管理员认证,避免准备阶段
    清除 sudo 凭据而使随后的网络安装再次失败。
  • 未缓存镜像的信息查询不要求 QEMU;本地镜像失败保留实际根因和完整性错误类别。
  • setup 与重试使用同一操作编号;没有部署状态也能读取事件日志,部分成功和最终磁盘
    保留情况准确显示。
  • Catalog 2026092001 新增双架构 Debian 12/13、Ubuntu 22.04/24.04/26.04 九月镜像,
    保留全部旧工件。Debian 延续离线 XFS 与 locale 调整,Ubuntu 保留上游原始字节。

兼容与验收范围

保留已有 VM 身份与健康磁盘;start 启动已有节点,up 应用配置并重试客机初始化。
测试数据盘的既有重置策略不变。旧控制节点缺少客机私钥时明确显示节点间 SSH 限制,
管理 SSH 仍可使用;本版没有加入私钥自动重新注入。

macOS 目录共享仍受已测 QEMU 的目录描述符重开行为限制。本版改进提前诊断,未实现
macOS 共享支持。新的 macOS 实验环境可以使用不含 vm_shares 的配置。

两台 macOS arm64/HVF 和两台 Linux amd64/KVM 已完成四主机原生验收,每机七系统:
Rocky Linux 9.8/10.2、Debian 12.15/13.7、Ubuntu 22.04.5/24.04.5/26.04.1。
基线候选 6d7870e 使用局域网镜像仓库完成从零初始化;最终运行时代码 1c054a0
随后完成原位升级、重复 up、停止/启动、客机 SSH、数据盘访问、Ansible 连接和节点间
SSH 复验,VM UUID、原镜像和健康根盘/数据盘身份保持。发布提交只更新 README 和本说明。

UX 审计 与
镜像更新记录
保留详细证据边界。没有重启物理宿主、完整安装 Pigsty,或新增 macOS amd64/Linux arm64
原生验证。Homebrew 认证顺序修复有回归测试,修复后尚未再次重放全新 Homebrew 安装;
本轮 macOS 网络首装使用已校验的局域网归档。七节点配置不含宿主共享。

make release-local VERSION=0.8.0 只在本地构建与校验归档、Linux 包、校验清单和 SBOM;
tag 工作流独立构建并验证本次发布资产。