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