docs: 固化 Aipod imageRef 决策
This commit is contained in:
@@ -62,6 +62,8 @@ spec:
|
||||
|
||||
`imageRef` 是 Aipod work-ready 环境的声明式 source,不是最终 Kubernetes image 字符串。它回答“这个 Aipod 的基础执行镜像由哪个 Git commit 中的哪个 Dockerfile/Containerfile 构建”。
|
||||
|
||||
本决策来自 `#146` 主线和 `#156` work-ready runner 收口:Aipod 装配完成后必须已经具备基础执行环境,`apt`、`apk`、`bun install`、`npm install` 或等价基础依赖安装不能成为普通任务运行时的默认前置。`imageRef` 必须先固化到 AipodSpec YAML,再由 dispatch/runner 解析为 env identity 和 digest-pinned image;不得用 prompt、payload、临时 CLI 参数或 dispatcher 当前 rollout commit 替代。
|
||||
|
||||
最小结构:
|
||||
|
||||
```yaml
|
||||
@@ -86,7 +88,7 @@ imageRef:
|
||||
仓库内置 `config/aipods/artificer.yaml`,名称为 `Artificer`。它的长期目标是承接 UniDesk 分布式开发任务:
|
||||
|
||||
- 使用 `backendProfile=sub2api`,模型声明为 `gpt-5.5`,reasoning effort 为 `xhigh`。
|
||||
- 通过 `imageRef` 引用 AgentRun `v0.1` env image Dockerfile source;启动时必须复用已物化的 digest-pinned env image,不能把依赖安装留给任务运行时。
|
||||
- 通过 `imageRef` 引用 AgentRun `v0.1` env image Dockerfile source;当前默认值是 `repoUrl=git@github.com:pikasTech/agentrun.git`、`commitId=6601b4afb4870ecec62f14459e14202e5ccca7ec`、`dockerfilePath=deploy/container/Containerfile`。启动时必须复用已物化的 digest-pinned env image,不能把依赖安装留给任务运行时。
|
||||
- 通过 provider SecretRef `agentrun-v01-provider-sub2api` 获取 `auth.json` 与 `config.toml`。
|
||||
- 通过 `toolCredentials` 获取 GitHub Issue/PR 写入 token:`agentrun-v01-tool-github-pr` -> env `GH_TOKEN`。
|
||||
- 通过 `toolCredentials` 获取 UniDesk SSH 透传 token:`agentrun-v01-tool-unidesk-ssh` -> env `UNIDESK_SSH_CLIENT_TOKEN`。
|
||||
|
||||
@@ -60,6 +60,8 @@ Env identity 的输入至少包含:`imageRef.repoUrl`、`imageRef.commitId`、
|
||||
|
||||
`AipodSpec.spec.imageRef` 是 Aipod 启动时选择 work-ready env image 的 source truth。Queue dispatch、Session turn 和 runner Job 创建不得直接信任 prompt、payload 或 CLI 临时传入的可变 image tag;它们必须先把 `imageRef` 映射到 artifact catalog 中的 env image identity 和 digest-pinned repository digest。
|
||||
|
||||
该规则是 `#146`/`#156` 的长期决策:Aipod 启动应复用 work-ready env image,基础工具、Bun/Node/npm、AgentRun 生产依赖和必要系统包在 env image 或受控预装层准备;普通任务运行时不能默认执行 `apt`、`apk`、`bun install`、`npm install` 来补齐基础环境。
|
||||
|
||||
规则:
|
||||
|
||||
- `imageRef.kind` 固定为 `env-image-dockerfile`,最小字段为 `repoUrl`、完整 `commitId` 和仓库内相对 `dockerfilePath`。
|
||||
|
||||
@@ -131,6 +131,7 @@ HWLAB Workbench 的 project/workspace 不属于 RuntimeAssembly 四要素,也
|
||||
### BackendImageRef
|
||||
|
||||
- `BackendImageRef.source` 是 env image Dockerfile source,来自 AipodSpec `spec.imageRef` 或受控 runtime default;`kind` 固定为 `env-image-dockerfile`,最小字段为 `repoUrl`、完整 `commitId` 和仓库内相对 `dockerfilePath`。
|
||||
- `#146` 的 Aipod 装配决策要求 `source` 先写入 AipodSpec,再进入 Queue dispatch / Session turn / runner Job 解析;不得由 prompt、payload、临时 CLI 参数、可变 image tag 或 dispatcher 当前 rollout commit 隐式决定 runner 镜像。
|
||||
- `BackendImageRef.image` 是 source 解析后的 digest-pinned image,必须来自 CI/CD artifact catalog、GitOps manifest 或 manager allowlist;客户端不能在 run payload 中传任意可变镜像。
|
||||
- runner Job 创建前必须先用 `source` 解析 env image identity,并优先从 artifact catalog / registry 复用已有 digest;未命中只能返回明确 build-required 或进入受控 CI/CD,不能在普通任务容器内现装依赖。
|
||||
- v0.1 可以继续使用现有 agentrun runner 镜像,不要求立即拆独立 backend image。
|
||||
|
||||
Reference in New Issue
Block a user