# Barn 1.2.0：资源规格、根盘扩容与宿主域名

> 资源覆盖、可恢复的根盘扩容、可配置并发、清单 hosts 发布与 Go 1.27.4。

---

LLMS 索引： [llms.txt](/zh/llms.txt)

---

[Barn 1.2.0](https://github.com/pgsty/barn/releases/tag/v1.2.0) 于 **2026-11-12** 发布，对应提交 [`90f6158`](https://github.com/pgsty/barn/commit/90f615804b823b4eb491101e642073dcd37a9700)。本版本新增资源覆盖、可恢复的根盘扩容、可配置生命周期并发和清单 hosts 发布。双语[命令参考](/zh/docs/reference/commands/)覆盖全部 57 个操作命令及其选项。

## 从 1.1.0 升级 {#upgrade-from-110}

Linux 清单未指定 CPU/内存时，默认值由 2 vCPU / 4 GiB 改为 **1 vCPU / 2 GiB**，已有清单也受此影响。如需保留旧默认值，请在 `all.vars` 中显式设置 `vm_cpu: 2`、`vm_mem: 4GiB`，保留各节点覆盖值，并在应用变更前检查 `barn plan`。已应用 VM 的资源会保留到显式执行资源变更操作为止。根盘与数据盘默认值仍为 64 GiB 和 128 GiB。

## VM 资源规格 {#vm-resources}

可使用 `--cpu/-C`、`--mem/-M`、`--scale/-S`、`--disk/-D`，并结合镜像与架构选择。对应的 `BARN_*` 环境变量提供默认覆盖值，命令行优先。生成清单时保存基础规格；计划、校验、状态和生命周期输出使用 `1c2g` 等 `SPEC` 标签展示有效资源，JSON 保留数值、基数、倍数与输入来源。

`resize --disk/-D` 可原地扩大根盘。Barn 先停止 QEMU，再扩大磁盘，进入客机核验末尾的普通 ext4/XFS 分区，并记录恢复阶段，使中断操作可以续跑。扩容保留 VM 身份、密钥和数据，并恢复操作前的运行或停止状态；缩容与不支持的布局会被拒绝。详见[根盘扩容与恢复](/zh/docs/reference/cli/#root-disk-growth)。

## 生命周期并发 {#lifecycle-concurrency}

`up`、`start`、`stop`、`restart`、`reload`、`recreate`、`destroy`、`purge` 可通过 `--parallel/-p` 指定节点并发。默认值为逻辑 CPU 数减二，最小为一；零表示全部所选节点并行，正数指定上限。重试建议会保留显式覆盖值。

## 清单宿主名称 {#inventory-host-names}

在 `all.vars.vm_hosts` 中声明服务名，使用 `barn hosts install -f pigsty.yml --json` 预览，再用 `barn hosts install -f pigsty.yml --yes` 应用。清单模式无需先创建 VM；省略 `-f` 时继续使用已应用节点名称。相同映射按大小写不敏感规则合并，地址冲突会报错；宿主侧映射不改变 VM 身份或客机配置。详见[额外 hosts 映射](/zh/docs/reference/configuration/#local-hosts)。

## 依赖与打包 {#dependencies-and-packaging}

源码、CI 与发行包使用 Go **1.27.4**。本轮将 `golang.org/x/sys` 更新至 0.50.0、`golang.org/x/term` 更新至 0.48.0、`golang.org/x/text` 更新至 0.44.0、`github.com/klauspost/compress` 更新至 1.20.4。打包使用 GoReleaser 2.20.1、内置 nFPM 2.48.0 与 Syft 1.57.1；RPM 内容校验改为要求 `SOURCE_DATE_EPOCH` 时间戳。版本锁定与许可证清单保存在发行源码中。

`govulncheck` 未发现导入包或可达符号中的漏洞；模块级报告列出的 [GO-2026-5932](https://pkg.go.dev/vuln/GO-2026-5932) 位于 Barn 未导入的 `golang.org/x/crypto/openpgp`。

## 镜像目录 {#image-catalog}

内置签名目录保持 revision `2026110502`，包含 9 个发行版系列、17 个架构制品的 stable 版本。两个官方源均通过签名验证、全新数据根激活、内置字节比对和制品大小/可达性检查。默认镜像仍为原生架构的 Ubuntu 24.04。

## 发布验收 {#local-validation}

[发布验收记录](/zh/blog/design/release-1-2-0-readiness/)记录源码与打包 CI、Developer ID 签名及公证、制品核验、Linux/KVM 根盘扩容恢复、原生 Mac 生命周期，以及从公开 1.1.0 升级的测试。历史候选版记录保留原始版本和验收范围。

## 安装或构建 {#build-the-candidate}

替换 `Barn.app` 前先停止运行中的 Mac VM，再通过 Homebrew 升级：

```bash
brew update
brew upgrade pgsty/infra/barn
```

也可安装指定版本：

```bash
curl -fLO https://github.com/pgsty/barn/releases/download/v1.2.0/install.sh
BARN_VERSION=1.2.0 bash install.sh
barn version
```

安装器核验归档 SHA-256。Darwin arm64 归档包含签名、公证后的 CLI、helper 与 `Barn.app`；其他归档及 Linux DEB/RPM 包包含 CLI 与配套 helper。详见[安装指南](/zh/docs/start/installation/)和[源码构建](/zh/docs/start/source-build/)。
