boardwalk-labs/runner-images
GitHub: boardwalk-labs/runner-images
Boardwalk 托管 runner 的基础镜像定义仓库,提供可复现、可审查的 CI/CD 工作流执行环境。
Stars: 1 | Forks: 0
# runner-images
[Boardwalk](https://boardwalk.sh) 托管 runner 的基础镜像定义——即你的工作流程序和 shell 步骤执行的环境。
镜像源、固定版本及版本控制策略均在此处且可复现;SBOM 和漏洞扫描报告随每次发布一同公布。
托管的 Boardwalk 平台基于这些基础镜像(按 digest 固定)构建其 worker 镜像,
随后添加一个私有运行时层。该层不予发布,但它不包含任何与机密相关的行为:此仓库中的基础镜像定义了你的代码在运行时所见的环境,并且你可以自行构建和检查它们。
## 镜像
| 标签 | 镜像 | 文档 |
| --- | --- | --- |
| `boardwalk/linux` | `ghcr.io/boardwalk-labs/boardwalk-runner-linux:` | [docs/linux.md](./docs/linux.md) |
## 计划中的镜像
属于路线图,尚未发布。只有当某个变体成为一个真正独立的环境(而非基础镜像的简单换肤)且托管调度器能路由至其标签时,它才会发布。在此之前,需要更多功能的工作流可以在每次运行时进行安装(受运行时的出口策略限制)或使用自定义镜像。下方的规划仅为意向,非最终承诺。
| 标签 | 计划添加的内容(在基础镜像之上) | 状态 |
| --- | --- | --- |
| `boardwalk/linux-node` | 以 Node 为中心的工具链:包含额外的包管理器和多个 Node 版本,超越基础镜像中的单一 Node 24 | 已规划 |
| `boardwalk/linux-python` | 固定的多版本 CPython 以及现代安装器 (uv / poetry),超越基础镜像中的 `python3` | 已规划 |
更大规格的机器在此处有意不作为标签:它是 `runs_on` 的 `size` 选择器
(`{ label: "boardwalk/linux", size: "large" }`),即对同一镜像的每次运行资源覆盖。
## Firecracker 客户端工件
托管 runner 运行在 Firecracker microVM 底层架构上,该架构启动 **kernel** 和
**ext4 rootfs**,而不是容器。二者的构建方案——一个具有已验证必需能力集且固定版本的极简客户端 kernel、一个用于上述 runner 镜像的 OCI→ext4 扁平化工具,以及一个冒烟启动测试关卡——均位于 [`guest/`](./guest/README.md) 中。其信任机制与容器镜像相同:你的代码运行的环境在此定义且可复现。
## 本地构建与检查
```
docker build -t boardwalk-runner-linux images/linux
docker run --rm -it boardwalk-runner-linux bash # inspect the runtime environment
# 在任何 image 变更后重新生成已提交的 environment lock(出现 drift 时 CI 会失败):
scripts/env-manifest.sh boardwalk-runner-linux > images/linux/ENVIRONMENT.lock
```
`images/linux/ENVIRONMENT.lock` 是可供人工审阅的固定 OS 包和工具列表;CI 会在每次 PR 时重新推导它,并在发生偏移时失败,因此环境变更将作为经过审查的 diff 合并。
每次发布都会公布镜像 digest、SPDX SBOM 以及漏洞扫描报告。
版本控制、扫描关卡、分类处理和弃用窗口记录在
[POLICY.md](./POLICY.md) 和 [SECURITY_TRIAGE.md](./SECURITY_TRIAGE.md) 中。
## 本仓库不包含的内容
- 不是引擎([`boardwalk`](https://github.com/boardwalk-labs/boardwalk))——它负责在你的硬件上运行
控制平面。
- 不是自托管 runner 客户端([`runner`](https://github.com/boardwalk-labs/runner))
——它负责在你的机器上执行 Boardwalk 调度的运行(同样可以使用这些镜像)。
## 许可证
Apache-2.0
标签:Cutter, 云计算, 容器镜像, 开发环境, 自动化运维, 规则引擎, 请求拦截