feat: add v0.1 gitops ci templates
This commit is contained in:
@@ -212,7 +212,7 @@ Postgres DSN、provider credential 和未来 tenant credential 的分发边界
|
||||
|
||||
## 部署方向
|
||||
|
||||
AgentRun 从 `v0.1` 开始按版本 lane 滚动,废弃 `dev/prod` 管理口径。`v0.1` 的固定 source workspace 是 `G14:/root/agentrun-v01`,固定 source branch 是 `v0.1`,固定运行目标是 G14 原生 k3s namespace `agentrun-v01`。后续 `v0.2`、`v0.3` 必须拥有自己的 branch、workspace、namespace、GitOps branch、runtime path 和发布验收。
|
||||
AgentRun 从 `v0.1` 开始按版本 lane 滚动,废弃 `dev/prod` 管理口径。`v0.1` 的固定 source worktree 是 `G14:/root/agentrun-v01`,固定 source branch 是 `v0.1`,固定运行目标是 G14 原生 k3s namespace `agentrun-v01`。后续 `v0.2`、`v0.3` 必须拥有自己的 branch、source worktree、namespace、GitOps branch、runtime path 和发布验收。
|
||||
|
||||
Control-plane service 应是长驻服务;runner 应是短生命周期 Job 或受控 host-native process。Backend adapter 可以作为 pod 或 host-native service 运行,但必须通过 AgentRun 注册 capability 和 health,不能通过临时地址被 ad hoc 调用。
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
## 设计目标
|
||||
|
||||
- `v0.1` 是独立 lane,不复用 `agentrun_dev` 或 `agentrun_prod` 作为当前运行面。
|
||||
- 每条版本 lane 拥有独立 source branch、source workspace、GitOps branch、runtime namespace、artifact catalog、runtime path、CI pipeline 和发布验收。
|
||||
- 每条版本 lane 拥有独立 source branch、source worktree、GitOps branch、runtime namespace、artifact catalog、runtime path、CI pipeline 和发布验收。
|
||||
- `v0.1` 只能部署到 `agentrun-v01` namespace;`v0.2`、`v0.3` 后续使用自己的 namespace 和 GitOps 路径。
|
||||
- CI/CD 必须使用 G14 原生 k3s、纯 Tekton Pipeline/Task/PipelineRun 和 Argo CD;不得引入自定义 runner、CI.json runner、长期自研 poller/reconciler、D601 legacy、临时 clone、手工 Pod patch 或本地镜像作为发布真相。
|
||||
- `v0.1` 的 CD 唯一手写真相源是 source branch 内的 `deploy/deploy.json`;Tekton 生成的 artifact catalog 和 Argo desired state 必须与 source branch 分离,只写入 `v0.1-gitops`。
|
||||
- 发布证据以 live runtime、Argo desired state、GitOps branch、Tekton 证据和干净 source workspace 顺序判断。
|
||||
- 发布证据以 live runtime、Argo desired state、GitOps branch、Tekton 证据和干净 source worktree 顺序判断。
|
||||
|
||||
## 固定命名
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
| --- | --- |
|
||||
| Source repo | `git@github.com:pikasTech/agentrun.git` |
|
||||
| Source branch | `v0.1` |
|
||||
| Source workspace | `G14:/root/agentrun-v01` |
|
||||
| Source worktree | `G14:/root/agentrun-v01` |
|
||||
| Worktree root | `G14:/root/agentrun-v01/.worktree/{task}` |
|
||||
| Runtime namespace | `agentrun-v01` |
|
||||
| GitOps branch | `v0.1-gitops` |
|
||||
@@ -34,7 +34,9 @@
|
||||
|
||||
## Bun + TypeScript CI 边界
|
||||
|
||||
`v0.1` 自研代码的 CI/CD 工具链以 Bun + TypeScript 为准。Tekton task 必须在受控容器内安装或使用固定 Bun 运行时,执行依赖安装、类型检查、自测试和镜像构建;不得把 master server、G14 固定 source workspace 或手工 host shell 作为构建机。
|
||||
`v0.1` 自研代码的 CI/CD 工具链以 Bun + TypeScript 为准。Tekton task 必须在受控容器内安装或使用固定 Bun 运行时,执行依赖安装、类型检查、自测试和镜像构建;不得把 master server、G14 固定 source worktree 或手工 host shell 作为构建机。
|
||||
|
||||
G14 依赖拉取和镜像发布沿用 HWLAB 成熟 lane 的运行面假设:`PipelineRun.spec.taskRunTemplate.podTemplate.hostNetwork=true` 且 `dnsPolicy=ClusterFirstWithHostNet`。因此 Tekton task 内的 `127.0.0.1:10808` 指向 G14 host bootstrap proxy,`127.0.0.1:5000` 指向 G14 host-managed registry;`NO_PROXY` 必须保留 `hyueapi.com`、`.hyueapi.com`、cluster service CIDR、`.svc` 和 `.cluster.local`。如果未来改成 cluster Service proxy 或 registry DNS,必须同步更新 Tekton template、render 脚本和本文规格,不得只改某个 PipelineRun 实例。
|
||||
|
||||
CI 的最小检查应覆盖:
|
||||
|
||||
@@ -53,9 +55,9 @@ CI 的最小检查应覆盖:
|
||||
2. Argo desired state:`argocd/agentrun-g14-v01` 的 revision、sync、health、source branch 和 runtime path。
|
||||
3. GitOps branch:`v0.1-gitops` 中的 `deploy/artifact-catalog.v01.json` 与 `deploy/gitops/g14/runtime-v01/**`。
|
||||
4. Tekton 执行证据:PipelineRun、TaskRun result、image digest 和 promotion 终态。
|
||||
5. 干净 source workspace:`G14:/root/agentrun-v01`、`origin/v0.1`、render 脚本、deploy intent 和 `--no-write` 输出。
|
||||
5. 干净 source worktree:`G14:/root/agentrun-v01`、`origin/v0.1`、render 脚本、deploy intent 和 `--no-write` 输出。
|
||||
|
||||
旧 `master` 记忆、`/root/agentrun` 固定工作区、`agentrun_dev`、`agentrun_prod`、D601 legacy 路径、临时 worktree 或本地容器只能作为线索,不能作为 `v0.1` 发布通过证据。
|
||||
旧 `master` 记忆、`/root/agentrun` 历史固定目录、`agentrun_dev`、`agentrun_prod`、D601 legacy 路径、临时 worktree 或本地容器只能作为线索,不能作为 `v0.1` 发布通过证据。
|
||||
|
||||
## Source 与 GitOps 分层
|
||||
|
||||
@@ -140,7 +142,7 @@ Tekton promotion 可以读取 `deploy/deploy.json` 来 render runtime desired st
|
||||
|
||||
## 验收标准
|
||||
|
||||
- `G14:/root/agentrun-v01` 为 `v0.1...origin/v0.1` 且 clean。
|
||||
- `G14:/root/agentrun-v01` source worktree 为 `v0.1...origin/v0.1` 且 clean。
|
||||
- `AGENTS.md` 和 `docs/reference/` 不得把 `agentrun_dev` 或 `agentrun_prod` 写成 `v0.1` 当前 namespace、Argo destination、Pipeline target 或验收目标;只允许在废弃说明和历史背景中提及。
|
||||
- `agentrun-v01` namespace 存在,且 `agentrun_dev`/`agentrun_prod` 不参与 `v0.1` 发布判定。
|
||||
- `v0.1-gitops` branch 和 `deploy/gitops/g14/runtime-v01` 成为 Argo desired state 来源。
|
||||
@@ -154,7 +156,7 @@ Tekton promotion 可以读取 `deploy/deploy.json` 来 render runtime desired st
|
||||
| 规格项 | 状态 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `v0.1` source branch | 已建立 | `origin/v0.1` 存在。 |
|
||||
| `G14:/root/agentrun-v01` workspace | 已建立 | 固定工作区使用 `v0.1` 分支。 |
|
||||
| `G14:/root/agentrun-v01` source worktree | 已建立 | 固定 source worktree 使用 `v0.1` 分支。 |
|
||||
| `agentrun-v01` namespace | 未实现 | 需要后续初始化。 |
|
||||
| `v0.1-gitops` branch | 未实现 | 需要后续初始化。 |
|
||||
| 纯 Tekton/Argo lane | 未实现 | 需要后续按本文补齐;不得引入自定义 runner。 |
|
||||
|
||||
@@ -45,14 +45,14 @@
|
||||
1. 发现 `README.md`、`docs/*.md`、`docs/*.json` 或计划文档时,先判断是否有长期价值。
|
||||
2. 有长期价值的,只把稳定结论吸收到对应 `docs/reference/spec-v01-*.md`;不要整篇搬入 reference。
|
||||
3. 属于计划、里程碑、阶段迁移、报告、一次性排障或历史验收的,全文迁入 GitHub issue 或 PR 评论,再删除源文件。
|
||||
4. 与 `v0.1` 规格冲突的旧 `dev/prod`、`/root/agentrun` 默认工作区、`agentrun_dev`、`agentrun_prod` 说法必须删除或改为历史背景。
|
||||
4. 与 `v0.1` 规格冲突的旧 `dev/prod`、`/root/agentrun` 默认 source 目录、`agentrun_dev`、`agentrun_prod` 说法必须删除或改为历史背景。
|
||||
5. 发现独立 `TEST.md` 或测试计划文档时,先把仍有效的测试场景蒸馏到对应 `spec-v01-*.md` 的“测试规格”小节,再删除源文件。
|
||||
6. 未实现规格必须在对应 spec 的“规格的实现情况”中明确写成 `未实现` 或 `未完全实现`,不要用散落 TODO 代替。
|
||||
|
||||
## v0.1 当前权威入口
|
||||
|
||||
- Source branch:`v0.1`。
|
||||
- Source workspace:`G14:/root/agentrun-v01`。
|
||||
- Source worktree:`G14:/root/agentrun-v01`。
|
||||
- Worktree 根:`G14:/root/agentrun-v01/.worktree/{task}`。
|
||||
- Runtime namespace:`agentrun-v01`。
|
||||
- 发布和验收规格:[spec-v01-cicd.md](spec-v01-cicd.md)。
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
- `AGENTS.md` 索引本文和其他 `spec-v01-*` 规格。
|
||||
- `docs/reference/` 中存在 `spec-v01-documentation-governance.md`、`spec-v01-services.md`、`spec-v01-cicd.md`、`spec-v01-postgres.md`、`spec-v01-secret-distribution.md`、`spec-v01-validation.md`、`spec-v01-agentrun-mgr.md`、`spec-v01-agentrun-runner.md`、`spec-v01-backend-adapter.md`、`spec-v01-backend-codex.md`、`spec-v01-cli.md` 和 `spec-v01-scheduler.md`。
|
||||
- `AGENTS.md` 和 `docs/reference/` 不得把旧 `agentrun_dev`、`agentrun_prod`、`G14:/root/agentrun` 或 `/root/agentrun` 写成当前工作区、namespace、发布目标或验收目标;只允许在废弃说明和历史背景中提及。
|
||||
- `AGENTS.md` 和 `docs/reference/` 不得把旧 `agentrun_dev`、`agentrun_prod`、`G14:/root/agentrun` 或 `/root/agentrun` 写成当前 source worktree、namespace、发布目标或验收目标;只允许在废弃说明和历史背景中提及。
|
||||
- `docs/` 根目录不新增临时 Markdown 报告或 JSON dump。
|
||||
- 仓库根目录不存在 `TEST.md`;测试场景维护在对应 `spec-v01-*.md` 的“测试规格”小节。
|
||||
- 后续实现任务先更新或引用对应 `spec-v01-*`,再修改代码和测试。
|
||||
|
||||
Reference in New Issue
Block a user