docs: require nginx-based public routing

This commit is contained in:
xiaobing.wang 2026-03-31 14:31:45 +08:00
parent d16023f998
commit 8141134e4b
2 changed files with 17 additions and 10 deletions

View File

@ -18,6 +18,7 @@
- 恢复 `.gitlab-ci.yml`、`deploy/`、Helm Chart、release bundle
- 修当前平台的发版链路
- 让应用仓库在发版时推送自己的 release 结果
- 按固定 nginx 代理模型组织前后端对外暴露
不适合处理:
@ -25,6 +26,7 @@
- 通用 Helm Chart 编写
- 未指向当前平台常量的通用 GitOps / Argo CD 任务
- 修改 GitOps 仓库中的 `Application`、`AppProject` 或其他发布侧清单
- 改成 Ingress 驱动的对外暴露方式
## 安装

View File

@ -216,6 +216,7 @@ deploy/helm/<app-name>/
- 模板中不要硬编码生产镜像 tag
- 所有镜像名都从 values 读取
- 所有 Service 暴露方式都从 values 读取
- 不要生成 Ingress 模板或 Ingress values
- 设置 `enableServiceLinks: false`
- 支持 `imagePullSecrets`
- 环境变量注入保持可读
@ -233,15 +234,15 @@ deploy/helm/<app-name>/
## 对外暴露模型
必须根据目标应用的 README、现有代码和当前网络结构推断
对外暴露模型使用固定方式,不再按项目自由选择
例如:
- 固定使用 nginx 作为统一入口,代理前端与后端路径
- 对外只暴露 nginx 入口,不直接暴露后端服务
- 后端服务默认只在集群内通信
- 不生成 Ingress 资源,也不要在 values 中保留 Ingress 开关
- 不要因为应用有多个内部服务,就擅自发明多个公网 host
- 如果项目是一个 frontend 对外,再由 frontend 反代内部 API 路径,就保持这个模型
- 如果项目明确使用 Ingress才生成 Ingress
- 如果项目明确已经移除 Ingress就不要重新引入
不要因为应用有多个内部服务,就擅自发明多个公网 host。
如果项目当前没有现成的前端代理层,也应按这个固定模型为对外入口预留 nginx 代理方案,而不是改成 Ingress。
## Release Bundle 规则
@ -270,6 +271,7 @@ deploy/helm/<app-name>/
- Secret 名符合平台约定
- 私有镜像拉取时包含 `imagePullSecrets`
- 与 Chart schema 保持一致
- 不包含 Ingress 配置项
### `secret.yaml`
@ -326,7 +328,8 @@ shared 边界:
- 不要擅自生成生产值
- 先完成所有非阻塞工作
- 如果 README 没明确说明是否启用,最后只问用户一个最小必要问题
- 如果需要,再向用户索取必要值,例如 `app_id`、`app.crt`、`app.key`、`ca.crt`、`public.key`
- 如果用户确认需要接入,后续字段就视为必填,不要再把它们当成可选示例值
- 启用后按固定顺序向用户索取:`app_id` -> `app.crt` -> `app.key` -> `ca.crt` -> `public.key`
- 如果不需要,就跳过这部分百智云鉴权相关的 release values 和 secret 生成
- 如果用户需要但没有提供完整值,不要写伪造占位内容;在最终输出中明确警告缺失了哪些字段以及可能影响
@ -334,7 +337,9 @@ shared 边界:
- 只在真正阻塞最终可部署结果时才问
- 先做完不依赖这些值的工作
- 问题必须尽量小而具体,避免连续追问多个开放问题
- 先确认是否启用百智云用户鉴权,再按固定顺序逐项索取必填材料
- 不要用“把需要的都给我”这种模糊问法
- 缺少任一必填项时,要明确指出当前卡在哪一项
## 执行流程
@ -345,7 +350,7 @@ shared 边界:
3. 生成或修复 `.gitlab-ci.yml`
4. 生成或修复 Chart 与 values
5. 生成或修复 release bundle
6. 完成非阻塞工作后,再处理可选私有接入提问
6. 完成非阻塞工作后,再处理可选的百智云用户鉴权提问
7. 自检并在最终输出中说明风险点
## 自检要求