跳转到主要内容

Barn 0.2.0:选点收敛与发布完整性

VPN 感知网络预检、选定节点扩容、基于已提交状态的集成、CI 多平台产物与 0.1.0 升级边界。
说明

本文为 0.2.0 历史发布记录。旧版发行附件已下线,安装当前版本请参见安装指南。

Barn 0.2.0 延续了 0.1.0 的 Pigsty 清单与磁盘部署格式,修复了真机回归测试中发现的 VPN 宽泛路由误拦与指定节点增量收敛问题。

主要变化

  • VPN 感知的路由预检。 10.0.0.0/8 等前缀更短的 VPN 排除路由不再误拦 Barn 专属的 10.10.10.0/24 子网;当存在相同或更具体的外部路由、接口重叠、IP 地址被占用或自有路由缺失时,预检仍会拒绝启动。
  • 真正的按节点按需收敛。 barn up <node> 仅下载并准备目标节点所需的镜像与磁盘。清单中尚未创建的节点显示为 absent;SSH 配置、/etc/hosts、客机引导、UUID 与端口分配、生命周期命令及持久盘检查均严格基于已提交的节点集合,同时保留完整清单定义供后续扩容使用。
  • 更新客机 /etc/hosts 归属标记。 新创建的客机统一写入 # barn-deployment-host 标记,并在更新 hosts 条目前自动清理该标记及 0.1.0 遗留的 # barn-project-host 标记。
  • 交互与工程细节改进。 集成了命令取消信号处理、结构化 JSON/YAML 输出、交互确认、barn reload、诊断信息脱敏以及依赖树精简。

真机与发布证据

  • macOS arm64/HVF(开启 MonoProxy):完成指定节点 u24-1 创建、SSH、stop/start、增量扩容已缓存的 el9-1、双节点横向 SSH(其余 5 个节点保持 absent)及整套部署销毁验证。
  • Ubuntu 26.04 amd64/KVM:使用发行版 Linux 二进制对现存四节点部署完成了无损状态巡检与控制节点 SSH 登录验证。
  • CI 与打包:通过本地 make check、源码 CI 与完整打包工作流,生成四平台归档、amd64/arm64 DEB 与 RPM 软件包、SPDX SBOM、Homebrew 配方、install.sh、SHA-256 校验清单与发布元数据。
  • 镜像目录:内置签名目录修订版 2026082903(涵盖 9 个发行版系列、27 个分架构产物),0.2.0 默认使用 https://repo.pigsty.cc/barn,同时验证了备用源 https://repo.pgsty.com/barn。

安装或升级

从 Barn 0.2.0 GitHub 发布页下载 install.sh 与发行资产:

chmod +x install.sh
BARN_VERSION=0.2.0 ./install.sh
barn version
barn doctor

0.1.0 的部署状态可直接读取;在已有虚拟机运行时执行一次 barn status 即可补齐进程启动时间戳,既有客机在下次重建时会自动采用新的 /etc/hosts 标记。