跳转到主要内容

Barn 0.9.0 · 发布候选 · Go + QEMU

一份 Inventory, 一套 Deployment。

Barn 在 macOS 与 Linux 上,把 Pigsty 兼容的 Inventory 启动成固定 IP 的 QEMU 虚拟机。用同一份配置,通过 Barn 准备虚拟机,再通过 Pigsty 部署服务。

默认 Ubuntu 24.04。重复 barn up 可接续初始化、重试受限功能,健康 VM 保持运行。

真机验证与限制

当前模型

更少的机制,更清楚的行为

Barn 面向一套可信的本地 Pigsty 实验环境,不是通用云控制平面。

2条上手命令安装后 up + ssh查看详情
1份 Inventorybarn.yml 或 pigsty.yml查看详情
1套用户 Deployment状态位于 ~/.barn查看详情
9个镜像家族Ubuntu、Debian、Rocky、CentOS查看详情

两个顶级栏目

文档与博客

文档保持紧凑并描述当前行为;博客补充设计理由、技术文章与发布历史。

启动与连接

开始使用

快速上手,以及管理、自动化、存储、排障、镜像与清理教程。

打开

准确契约

参考

Inventory 变量、命令、参数、输出与退出码。

打开

设计与证据

关于

简化模型、真机矩阵、限制与发布门禁。

打开

一台扩到四台

快速上手

用 up 启动、用 ssh 进入,再通过同一份配置增量扩容。

打开

vm_* 字段

配置

默认值、磁盘、共享、命名、地址与漂移。

打开

设计与历史

博客

已接受的设计记录、项目文章、开发快照与发布注记。

打开

正常路径

启动环境,然后进入

先按快速上手从源码准备 Barn 0.9.0 候选;首次部署时,在终端的空目录执行以下命令。交互式 up 会准备缺少的宿主依赖,在尚无部署时生成默认配置。

barn up
barn ssh

增加主机行后再次 up:创建新节点、启动选中的已停止节点,运行中节点保留进程,同时重试未完成的初始化;删掉一行永远不会删除 VM。

产品边界

刻意保留的约束

01

一份事实

Pigsty Inventory 同时是 VM 规格与部署清单。

02

增量操作

up 添加节点,recreate 应用定义变更,destroy 删除节点。

03

可归属

变更前核验进程身份、属主、路径与网络 manifest。

04

显式运行时

默认使用原生 HVF/KVM;Catalog 规则或显式请求的 TCG 始终可见。

简短回答

开始之前

工作目录还是 Barn 项目吗?

不是。状态是 ~/.barn 下唯一的一套 deployment;显式或当前目录发现的 Inventory 提供期望状态,没有文件时生命周期命令可回退到已应用规格。

可以直接使用 pigsty.yml 吗?

可以。Barn 读取已记录的 VM 字段,以及用于命名、控制节点和管理员身份的一小组 Pigsty 字段;其余参数保持不透明。

第一次 up 会修改宿主吗?

可能安装缺少的依赖与固定 IP 网络,并在需要时调用 sudo。可先用 setup –dry-run 查看宿主计划;可选 hosts helper 仅在 hosts install 时安装。

up 会安装 PostgreSQL 或 Pigsty 吗?

它准备虚拟机与客机访问环境。PostgreSQL 和其他服务由 Pigsty 单独部署;内置模板只描述 VM 拓扑。

Barn 可以用于生产吗?

不可以。它仍是 pre-1.0 的本地开发运行时;请在状态页查看准确验证矩阵与开放门禁。

从两条命令开始。当前从源码构建 0.9.0 候选;正式发布后安装 Barn,用 up 启动、ssh 进入。