Merge pull request #2137 from pikasTech/feat/pikaoa-production-release
feat(pikaoa): 建立生产 release 控制面
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# R1.6.1.3 任务报告
|
||||
|
||||
## 任务回链
|
||||
|
||||
- MDTODO:`R1.6.1.3`。
|
||||
- GitHub:`pikasTech/unidesk#2129`、`pikasTech/unidesk#2110`。
|
||||
- Target:`NC01`。
|
||||
- 交付边界:本任务只完成生产 release 控制面、只读计划与定向测试,不执行生产 mutation。
|
||||
|
||||
## 已完成
|
||||
|
||||
- `config/pikaoa.yaml#releaseRuntime.targets.NC01` 成为生产运行面唯一 owning selector:
|
||||
- namespace、单副本、resources、附件 PVC、Service、OTel、Prometheus、release source、fresh initializer policy 均由 YAML 声明;
|
||||
- Secret 继续引用既有受控 distribution 与 PK01 PostgreSQL export,不打印值;
|
||||
- 公网 hostname、FRP port、Caddy/TLS 事实保留在同一生产 delivery 声明。
|
||||
- `config/platform-infra/pipelines-as-code.yaml` 新增独立 `pikaoa-nc01` Repository/consumer:
|
||||
- 只跟随 `release` 与 `refs/unidesk/snapshots/gitea-actions/pikaoa-release-nc01`;
|
||||
- 与 `pikaoa-test-nc01/master` 的 Secret、PipelineRun、GitOps branch、Argo application 完全隔离;
|
||||
- production sourceArtifact 使用 `pikaoa-release-runtime` renderer 生成 `.tekton/pikaoa-nc01-pac.yaml`。
|
||||
- test/release 共用 renderer 已修复真实 PaC 缺陷:
|
||||
- TaskSpec workspace 声明 `mountPath: /workspace`,step 不再手工挂载 workspace,token Secret mounts 保留;
|
||||
- BuildKit metadata 解析允许 JSON 冒号两侧空白,只接受 `containerimage.digest` 的完整 `sha256:<64hex>`;
|
||||
- metadata 不可读时使用本地 registry manifest `Docker-Content-Digest` 受控兜底。
|
||||
- Gitea mirror webhook status 只解析选中 repository 的 credential 与 topology:
|
||||
- `--repo pikaoa-nc01` 不再读取未选 `pikaoa-test-nc01` token;
|
||||
- 现场状态显示 release commit `07a9a9db3cad` 已 committed。
|
||||
|
||||
## 验证证据
|
||||
|
||||
- `bun test scripts/src/pikaoa-test-delivery-renderer.test.ts scripts/src/platform-infra-gitea-config.test.ts scripts/src/platform-infra-pipelines-as-code-bootstrap.test.ts`:`24 pass / 0 fail`。
|
||||
- `platform-infra pipelines-as-code plan --target NC01 --consumer pikaoa-nc01`:识别独立 production Repository、consumer、Tekton 与 Argo 路径。
|
||||
- `platform-infra gitea mirror webhook status --target NC01 --repo pikaoa-nc01`:`READY=true`,release head、Gitea 与 snapshot 均为 `07a9a9db3cad`。
|
||||
- source-artifact `plan/check`:desired hash 已生成;产品 `.tekton/pikaoa-nc01-pac.yaml` 尚未写入,符合本任务禁止直接编辑固定产品主 worktree 的边界。
|
||||
|
||||
## 主代理后续命令
|
||||
|
||||
在 `/root/pikaoa` clean worktree 审核并写入产品 release artifact:
|
||||
|
||||
```bash
|
||||
bun scripts/cli.ts platform-infra pipelines-as-code source-artifact plan --target NC01 --consumer pikaoa-nc01 --source-worktree /root/pikaoa
|
||||
bun scripts/cli.ts platform-infra pipelines-as-code source-artifact write --target NC01 --consumer pikaoa-nc01 --source-worktree /root/pikaoa --confirm
|
||||
bun scripts/cli.ts platform-infra pipelines-as-code source-artifact check --target NC01 --consumer pikaoa-nc01 --source-worktree /root/pikaoa
|
||||
```
|
||||
|
||||
产品 artifact 提交、正常 release PR merge 后,由主代理执行只读 bootstrap 计划并按正常入口触发交付:
|
||||
|
||||
```bash
|
||||
bun scripts/cli.ts platform-infra gitea mirror webhook status --target NC01 --repo pikaoa-nc01
|
||||
bun scripts/cli.ts platform-infra pipelines-as-code plan --target NC01 --consumer pikaoa-nc01
|
||||
bun scripts/cli.ts platform-infra pipelines-as-code status --target NC01 --consumer pikaoa-nc01
|
||||
```
|
||||
|
||||
交付完成后再按原入口验收 `pikaoa` namespace、initializer、API/Worker/Web、附件 PVC、OTel/Prometheus 与 `https://oa.pikapython.com`;不得人工创建 PipelineRun、Argo refresh 或生产 namespace mutation。
|
||||
@@ -145,6 +145,12 @@
|
||||
##### R1.6.1.1 [completed]
|
||||
|
||||
将 PK01 PostgreSQL 逻辑备份正规化为 YAML-first 多数据库 logicalDumps,保留 Sub2API 并新增 PikaOA 独立 dump、timer、retention 与受控状态/可恢复性摘要(pikasTech/unidesk#2115),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.1_Task_Report.md)。
|
||||
##### R1.6.1.2
|
||||
|
||||
为 NC01 pikaoa namespace 的生产附件 PVC 建立 YAML-first Restic 离机备份、受控状态与 restore smoke,复用 PK01 /var/backups/unidesk 且失败只告警不阻塞业务,执行记录见 [pikasTech/unidesk#2128](https://github.com/pikasTech/unidesk/issues/2128),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.2_Task_Report.md)。
|
||||
##### R1.6.1.3 [completed]
|
||||
|
||||
建立仅跟随产品 release 的 PikaOA 生产 PaC/Tekton/GitOps/Argo lane,以 fresh initializer 在 NC01 pikaoa namespace 启动 API/Worker/Web/附件 PVC,接入 PK01 host PostgreSQL、OTel/Prometheus 和 oa.pikapython.com TLS 公网入口,执行记录见 [pikasTech/unidesk#2129](https://github.com/pikasTech/unidesk/issues/2129),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.6.1.3_Task_Report.md)。
|
||||
### R1.7
|
||||
|
||||
通过 CLI、OTel、Prometheus 和 https://oa.pikapython.com 桌面/移动原入口验证完整主路径,依赖 R1.6,完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.7_Task_Report.md)。
|
||||
|
||||
Reference in New Issue
Block a user