更新动态 runner 启用阶段与总并发并调整入门 workflow

This commit is contained in:
2026-09-16 16:16:46 +00:00
parent f19c568817
commit 71225289c9
4 changed files with 29 additions and 7 deletions
+15 -1
View File
@@ -17,9 +17,23 @@ microVM;每个环境只执行一个 job,结束后销毁环境及本地状态
更名由维护者提供;以下组件与接口说明依据 2026-09-16 查阅的项目 README。
维护者进一步明确:**项目正在积极开发,具体启用范围和实现进度以该项目文档为准。**
本页保留用途、设计原则和该次 README 的摘要,不另行维护部署范围或消息队列参数清单。
本页保留用途、设计原则和该次 README 的摘要,仅补充维护者明确提供的阶段与容量,不复制维护完整部署范围或消息队列参数清单。
本轮未查询现场,不将设计接口视为已完成的上线验收。
## 当前开发与启用阶段
维护者于 2026-09-16 补充:开发接近完成,动态 `pod` 已上线测试,`vm` 正在工作;
`self-hosted` 的旧常驻 runner 准备退役。
| 执行环境 | workflow labels | 系统总并发量 | 阶段 |
|---|---|---:|---|
| Pod | `[self-hosted, pod]` | 4 | 已上线测试 |
| VM | `[self-hosted, vm]` | 1 | 正在工作,具体进度以项目文档为准 |
并发量是对应环境在系统中的总容量,不按仓库或 workflow 分别分配一份额度。
本页记录维护者提供的阶段与容量,不将“上线测试”写成完整正式验收;
旧常驻 runner 也尚未标记为已退役。后续变化继续以项目文档为准。
## workflow 如何选择执行环境
README 定义两种稳定接口,在 workflow 的 job 中选择:
+11 -5
View File
@@ -41,7 +41,7 @@ name: Hello
on: [push]
jobs:
hello:
runs-on: self-hosted
runs-on: [self-hosted, pod]
steps:
- name: Check execution
run: echo 'homelab CI is running'
@@ -52,15 +52,21 @@ jobs:
若仓库设置没有 Actions 开关,先确认自己的管理权限。
workflow 路径、启用方式与事件规则见 [Gitea 官方入门](https://docs.gitea.com/usage/actions/quickstart/)。
`self-hosted` 来自现有 homelab-infra workflow。本页没有检查当前在线 runner:
如果任务排队,先查看 runner 是否在线以及是否匹配 labels,不能把入队当作执行成功
维护者于 2026-09-16 说明:动态 `pod` 已上线测试,系统总并发量为 4
`self-hosted` runner 准备退役,新 workflow 使用明确的动态环境 labels
本例据此采用 `[self-hosted, pod]`,本轮未实际运行示例。
若任务排队,除 runner 在线状态和 labels 外,也要考虑系统并发容量,不能把入队当作执行成功。
## 选择 runner
| 需求 | 使用入口 |
|---|---|
| 现有可信仓库的常规 CI | 已有 workflow 使用 `self-hosted`;常驻 runner 的实现见 `platform/gitea-runner/README.md` |
| 动态一次性 Pod 或 VM | [Dynamic Runner](gitea-dynamic-runner.md),接口为 `[self-hosted, pod]` / `[self-hosted, vm]`开发进度及启用条件以项目文档为准 |
| 动态 Pod:已上线测试 | `[self-hosted, pod]`;系统总并发 4,不是每个仓库各有 4 个名额 |
| 动态 VM:正在工作 | `[self-hosted, vm]`系统总并发 1,具体可用范围和进度以项目文档为准 |
| 旧常驻 runner:准备退役 | 纯 `self-hosted`,不再作为新 workflow 的默认示例;已有 workflow 需按需求迁移到明确的 Pod/VM 接口 |
上述阶段与容量由维护者于 2026-09-16 提供。实现与后续变化见
[Dynamic Runner](gitea-dynamic-runner.md) 及其项目文档。
常驻 runner 使用 privileged DinDREADME 明确限定可信 workflow;不要为不可信代码开放它。
动态 runner 提供环境及获取自身 SPIFFE 身份的能力;登录下游、请求 token 和凭据清理由 workflow 负责。
+1 -1
View File
@@ -39,7 +39,7 @@ SPIFFE/SPIRE 已按维护者授权补读 #34LAN DNS 与 Authelia 已按维护
| cert-manager | 签发与续期 TLS 证书 | `ClusterIssuer API` | 记录已接管 Flux | `platform/cert-manager/README.md` | 已有签发和验证说明 |
| envoy-gateway | LAN HTTP 入口与认证集成 | `192.168.10.127:443` | 记录已接管 Flux | `platform/envoy-gateway/README.md` | 已有服务接入说明 |
| external-secrets | OpenBao 到 Kubernetes 的秘密投射 | `Kubernetes API` | Helm 记录已接管;对象范围需区分 | `platform/external-secrets/README.md` | 补新增秘密引用的使用流程 |
| gitea-runner | 可信 Gitea Actions 任务执行 | `Gitea Actions` | 记录已接管 Flux | `platform/gitea-runner/README.md` | workflow label 与使用限制 |
| gitea-runner | 旧常驻 Gitea Actions runner | 纯 `self-hosted` | 维护者说明准备退役,尚未标为已退役 | `platform/gitea-runner/README.md`、维护者说明 | workflow 改用 [动态 Pod/VM](gitea-dynamic-runner.md) 的明确 labels |
| k3s | 集群 CoreDNS 定制 | `集群内 DNS` | 仅发现 DNS 配置 | `platform/k3s/Corefile.desired` | 缺组件 README |
| [nats](nats.md) | 集群共享消息与 JetStream 队列 | `nats.ad.ddupan.top:4222` | 已部署;维护者说明目前唯一消费者为 Dynamic Runner | 维护者 2026-09-16 说明、`platform/nats/README.md` | runner 消息队列约定以独立项目文档为准 |
| [observability / Grafana](grafana.md) | Grafana、指标、日志和追踪 | `grafana.ad.ddupan.top` | 记录已接管 Flux;9 月 16 日变更入口 | `platform/observability/README.md` | 已有看板、指标与日志查询指南 |
+2
View File
@@ -12,6 +12,8 @@
NATS 已作为集群共享服务部署,当前唯一消费者为 Dynamic Runner,见 [NATS](services/nats.md)。
维护者明确 Dynamic Runner 正在积极开发,其启用范围、durable 名称和实现进度以
[项目文档](https://git.ddupan.top/panxiao81/gitea-dynamic-runner)为准。
维护者补充动态 Pod 已上线测试、系统总并发 4,VM 正在工作、系统总并发 1;
纯 self-hosted runner 准备退役。使用入口见 [Gitea / Actions](services/gitea.md)。
不再将旧示例的 durable 名称差异或启用范围列为独立待核实项。
NATS 原生通过 Account 隔离租户,跨 Account 的名称不构成全局冲突;
runner 的队列协调约定仅在其所属 Account 和 stream 范围内讨论。