docs: prefer interactive config collection

This commit is contained in:
xiaobing.wang 2026-03-31 17:28:37 +08:00
parent a577beaa41
commit 9c3ab0e726

View File

@ -242,7 +242,7 @@ deploy/helm/<app-name>/
## 对外暴露模型 ## 对外暴露模型
对外暴露模型使用固定方式,不再按项目自由选择 对外暴露模型使用固定方式。
- 固定使用 nginx 作为统一入口,代理前端与后端路径 - 固定使用 nginx 作为统一入口,代理前端与后端路径
- 对外只暴露 nginx 入口,并通过 `NodePort` 提供入口访问 - 对外只暴露 nginx 入口,并通过 `NodePort` 提供入口访问
@ -258,7 +258,7 @@ deploy/helm/<app-name>/
- 如果用户或项目文档已经提供了分配好的 `NodePort`,直接使用 - 如果用户或项目文档已经提供了分配好的 `NodePort`,直接使用
- 如果没有提供,先完成所有非阻塞工作,最后只问用户一个最小必要问题来索取该端口 - 如果没有提供,先完成所有非阻塞工作,最后只问用户一个最小必要问题来索取该端口
- 不要擅自写入示例端口或看起来顺手的默认值,例如 `30080`、`30081` - 不要擅自写入示例端口或看起来顺手的默认值,例如 `30080`、`30081`
- 如果用户暂时没有提供,最终输出中必须明确说明 nginx 对外 `NodePort` 尚未分配,因此外部访问配置未完成 - 如果用户暂时没有提供,就停在这一项等待补值,不要擅自填入
## Release Bundle 规则 ## Release Bundle 规则
@ -299,12 +299,12 @@ deploy/helm/<app-name>/
- 不要为了“看起来完整”而伪造假的生产值 - 不要为了“看起来完整”而伪造假的生产值
- 先区分“外部集成凭据”和“应用自带私有依赖的内部口令” - 先区分“外部集成凭据”和“应用自带私有依赖的内部口令”
- 如果是外部集成凭据,应在完成所有非阻塞工作后主动向用户索取,而不是只在最后留警告 - 如果是外部集成凭据,应在完成所有非阻塞工作后主动向用户索取
- 如果是应用自带私有依赖的内部口令,优先由生成流程一次性生成并写入 release secret而不是要求用户手填 - 如果是应用自带私有依赖的内部口令,优先由生成流程一次性生成并写入 release secret而不是要求用户手填
- 如果用户暂时没有提供,不要造占位内容冒充可部署配置 - 如果用户暂时没有提供,不要造占位内容冒充可部署配置
- 对部署阻塞项,按最小必要粒度逐项提问,优先直接问“这一项应填什么” - 对部署阻塞项,按最小必要粒度逐项提问,优先直接问“这一项应填什么”
- 只有当用户明确暂不提供、或本轮对话结束时仍未补齐,才在最终输出中保留缺失项警告 - 在交互会话中,完成非阻塞工作后,如果仍有必填项缺失,应先向用户索取当前顺序中的下一项
- 可以只保留结构,或暂不生成具体 secret 内容,但必须在最终输出中明确警告缺失项与影响 - 可以只保留结构,或暂不生成具体 secret 内容,但不要用伪造值把未完成配置包装成已完成
release bundle 只负责导出当前应用自己的发布结果,不负责维护 GitOps 仓库中的其他对象。 release bundle 只负责导出当前应用自己的发布结果,不负责维护 GitOps 仓库中的其他对象。
@ -337,8 +337,9 @@ shared 边界:
- shared 只负责共享基础设施和通用运行时地址 - shared 只负责共享基础设施和通用运行时地址
- 平台共享基础设施包括 `PostgreSQL`、`Redis`、`Qdrant`、`MinIO` - 平台共享基础设施包括 `PostgreSQL`、`Redis`、`Qdrant`、`MinIO`
- 应用 Chart / release bundle 默认应引用这些 shared 组件的既有服务地址与 shared Secret不要重复生成这些工作负载 - 应用 Chart / release bundle 默认应引用这些 shared 组件的既有服务地址与 shared Secret不要重复生成这些工作负载
- 这些 shared 组件的 host 应使用平台提供的实际地址或 FQDN不要默认写成当前应用 namespace 下的裸服务名,例如 `postgres`、`redis`、`qdrant`、`minio`
- 只有当用户明确要求该应用自带独立实例时,才为 `PostgreSQL`、`Redis`、`Qdrant`、`MinIO` 生成应用私有资源 - 只有当用户明确要求该应用自带独立实例时,才为 `PostgreSQL`、`Redis`、`Qdrant`、`MinIO` 生成应用私有资源
- `Neo4j` 不再作为平台共享基础设施提供;如应用需要图数据库,应由应用自己部署和维护 - 平台共享基础设施不包含 `Neo4j`;如应用需要图数据库,应由应用自己部署和维护
- 只要应用运行时配置仍引用某个应用私有依赖,就应在应用 Chart / release bundle 中把它一并表达出来,而不是只在 values 里保留连接参数 - 只要应用运行时配置仍引用某个应用私有依赖,就应在应用 Chart / release bundle 中把它一并表达出来,而不是只在 values 里保留连接参数
- 不要把某个厂商的客户端证书、私钥、应用专属 `app_id`、tenant id、client id、namespace id、应用独有 webhook 签名密钥放进 `shared/` - 不要把某个厂商的客户端证书、私钥、应用专属 `app_id`、tenant id、client id、namespace id、应用独有 webhook 签名密钥放进 `shared/`
- 镜像拉取默认使用 `registry-pull-secret`,不要随便为每个应用再造一个 pull secret除非平台模型发生变化 - 镜像拉取默认使用 `registry-pull-secret`,不要随便为每个应用再造一个 pull secret除非平台模型发生变化
@ -354,7 +355,7 @@ shared 边界:
- 先完成所有非阻塞工作 - 先完成所有非阻塞工作
- `env` 与鉴权材料均为必填项 - `env` 与鉴权材料均为必填项
- 鉴权材料按固定顺序向用户索取:`app_id` -> `app.crt` -> `app.key` -> `ca.crt` -> `public.key` - 鉴权材料按固定顺序向用户索取:`app_id` -> `app.crt` -> `app.key` -> `ca.crt` -> `public.key`
- 如果用户还没提供完整值,不要写伪造占位内容;在最终输出中明确警告缺失了哪些字段以及可能影响 - 如果用户还没提供完整值,不要写伪造占位内容
opensdk 读取与挂载规则: opensdk 读取与挂载规则:
@ -372,7 +373,8 @@ opensdk 读取与挂载规则:
- 先做完不依赖这些值的工作 - 先做完不依赖这些值的工作
- 按必填项收集百智云配置 - 按必填项收集百智云配置
- 先索取 `env`,再按固定顺序逐项索取 `app_id`、`app.crt`、`app.key`、`ca.crt`、`public.key` - 先索取 `env`,再按固定顺序逐项索取 `app_id`、`app.crt`、`app.key`、`ca.crt`、`public.key`
- 对外部集成字段,应在非阻塞工作完成后逐项索取,而不是直接跳到最终缺失项警告 - 对外部集成字段,应在非阻塞工作完成后逐项索取
- 如果当前正在等待用户补值,就把回复重点放在“当前要补的这一项”
- 对应用自带私有依赖内部口令,优先自动生成;只有用户明确要求自定义时才向用户索取 - 对应用自带私有依赖内部口令,优先自动生成;只有用户明确要求自定义时才向用户索取
- 不要用“把需要的都给我”这种模糊问法 - 不要用“把需要的都给我”这种模糊问法
- 缺少任一必填项时,要明确指出当前卡在哪一项 - 缺少任一必填项时,要明确指出当前卡在哪一项
@ -399,14 +401,14 @@ opensdk 读取与挂载规则:
至少确认: 至少确认:
- 应用仓库不再缺少接入文件 - 应用仓库接入文件齐全
- `.gitlab-ci.yml` 包含 test、镜像构建、chart 发布、release 结果同步逻辑 - `.gitlab-ci.yml` 包含 test、镜像构建、chart 发布、release 结果同步逻辑
- release values 指向 `registry.baizhi.cloud` - release values 指向 `registry.baizhi.cloud`
- GitOps 仓库更新 job 指向 `https://deploy.baizhi.cloud/gitops-admin/argodeploy.git` - GitOps 仓库更新 job 指向 `https://deploy.baizhi.cloud/gitops-admin/argodeploy.git`
- CI 中没有直接调用 Argo - CI 中没有直接调用 Argo
- 没有继续使用旧域名 - 仅使用 `deploy.baizhi.cloud``registry.baizhi.cloud`
- 没有继续使用不安全的 HTTP registry 访问方式 - 没有使用不安全的 HTTP registry 访问方式
- 如果存在用户未提供的必填私有配置,最终输出中已明确列出缺失项和潜在影响 - 如果存在用户未提供的必填私有配置,交互会话会继续停在当前必填项上索取补值
## 最终输出要求 ## 最终输出要求
@ -416,12 +418,6 @@ opensdk 读取与挂载规则:
2. 关键设计决策 2. 关键设计决策
3. 最值得人工复核的 3 个点 3. 最值得人工复核的 3 个点
如果存在用户未提供的必填私有配置,额外增加“缺失项警告”,明确列出:
- 缺少哪些字段
- 因此哪些配置尚未完成
- 不补齐会影响什么例如无法直接部署、某功能未启用、secret 仍为空
## 常见错误 ## 常见错误
以下都属于接入错误: 以下都属于接入错误:
@ -429,7 +425,7 @@ opensdk 读取与挂载规则:
- 把应用私有鉴权材料放进 `shared/` - 把应用私有鉴权材料放进 `shared/`
- 在 CI 里直接刷新 Argo - 在 CI 里直接刷新 Argo
- 重新引入已废弃的旧域名 - 重新引入已废弃的旧域名
- 在 HTTPS 已恢复后仍使用 insecure registry 参数 - 使用 insecure registry 参数
- 生成的 Chart 与应用真实组件不匹配 - 生成的 Chart 与应用真实组件不匹配
- 在生产 release values 中写 `registry.example.com` 这类示例地址 - 在生产 release values 中写 `registry.example.com` 这类示例地址
- 应用没有这个设计却擅自发明新的公网 host - 应用没有这个设计却擅自发明新的公网 host