From 5ee05d2ec7df762bdd2a41dfdefa4105b88ce20b Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 14 Jul 2026 19:08:59 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=20PikaOA=20=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E8=BF=90=E8=A1=8C=E9=9D=A2=E8=A1=A5=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../R1.5.8_Task_Report.md | 34 +++++++++++++++++++ docs/MDTODO/pikaoa-enterprise-platform.md | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 docs/MDTODO/details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md diff --git a/docs/MDTODO/details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md b/docs/MDTODO/details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md new file mode 100644 index 00000000..8632fed0 --- /dev/null +++ b/docs/MDTODO/details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md @@ -0,0 +1,34 @@ +# R1.5.8 任务报告 + +## 结论 + +已按 [pikasTech/unidesk#2053](https://github.com/pikasTech/unidesk/issues/2053) 补齐 PikaOA 临时测试运行面的附件配置、namespace 内附件 PVC 和数据库迁移启动链。fixture 现在渲染严格 runtime YAML 所需的 `attachment.storageRoot`、`attachment.maxBytes`,并按“基础对象与 PostgreSQL 就绪、迁移 Job 完成、API/Worker rollout”顺序执行。 + +## 实现 + +- owning YAML:`config/fixtures/pikaoa-test-target.yaml#testRuntime.targets.TEST01` 声明附件 PVC、迁移镜像、Job 名称、重试和产品 CLI 命令。 +- renderer:`scripts/src/pikaoa-test-target.ts` 只读取并校验 YAML 形状,渲染 PVC、迁移 Job、API 挂载和三阶段启动脚本。 +- 可见性:`plan` 显示附件与迁移的脱敏摘要;PostgreSQL、迁移 apply/wait 和业务 rollout 分别返回具名失败码。 +- 文档:`docs/reference/pikaoa.md` 记录附件存储归属和迁移先于业务 workload 的长期契约。 +- 产品静态核对:`/root/pikaoa/internal/config/config.go` 要求附件字段;`/root/pikaoa/internal/cli/root.go` 与 README 确认 `pikaoa migrate up --config ` 入口。 + +## YAML-first 分类 + +- `keep-domain-special`:PikaOA 严格 runtime YAML、产品内置迁移 Job、namespace 生命周期内附件 PVC。 +- `remove-code-default`:附件 volume 名直接复用 YAML `claimName`;未新增容量、重试或 StorageClass 隐藏默认。 +- `legacy-retire`:不适用。 + +## 验证 + +- `bun --check scripts/src/pikaoa-test-target.ts`:通过。 +- `bun scripts/cli.ts check`:11/11 通过。 +- 默认 `pikaoa test-target plan --output json`:`configured=false`、`mutation=false`。 +- fixture `plan` 结构化断言:包含 `PersistentVolumeClaim`、`Job`、API/Worker `Deployment`,迁移阶段为 `after-postgres-before-workloads`,`validationOnly=true`、`mutation=false`、`valuesPrinted=false`,未出现 DSN 或 Secret 派生值。 +- fixture `status`:`remoteQueried=false`、`reason=validation-only-target`。 +- `git diff --check`:通过。 + +## 风险与边界 + +- fixture 只声明验证用 `registry.invalid` 镜像;真实专用测试 target 仍需由 owning YAML 指定可用镜像与 StorageClass。 +- 未执行 `start/stop`,未连接集群,未修改产品仓、正式 namespace、CI/CD、GitOps 或公网暴露。 +- 实现 checkpoint:`03ca5ffe`。 diff --git a/docs/MDTODO/pikaoa-enterprise-platform.md b/docs/MDTODO/pikaoa-enterprise-platform.md index 39d2bc0f..50411e83 100644 --- a/docs/MDTODO/pikaoa-enterprise-platform.md +++ b/docs/MDTODO/pikaoa-enterprise-platform.md @@ -86,7 +86,7 @@ #### R1.5.7 [completed] 增加 YAML-first PikaOA 专用测试集群临时 k8s 运行面和 pikaoa test-target plan/status/start/stop 受控入口,不经过 CI/CD、不触碰正式 namespace,未声明测试 target 时返回 configured=false,执行记录见 [pikasTech/unidesk#2046](https://github.com/pikasTech/unidesk/issues/2046),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.7_Task_Report.md)。 -#### R1.5.8 [in_progress] +#### R1.5.8 [completed] 修复 `pikaoa test-target` 临时运行面缺失附件配置与数据库迁移启动链,使 fixture 能渲染当前产品可启动的 namespace-local 后端运行面,保持未声明 target 与 `validationOnly` 全程无远端变更,执行记录见 [pikasTech/unidesk#2053](https://github.com/pikasTech/unidesk/issues/2053),完成任务后将详细报告写入[任务报告](./details/pikaoa-enterprise-platform/R1.5.8_Task_Report.md)。 ### R1.6