diff --git a/README.md b/README.md index ec2f37d..5d7a041 100644 --- a/README.md +++ b/README.md @@ -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 驱动的对外暴露方式 ## 安装 diff --git a/gitops-app-onboarding/SKILL.md b/gitops-app-onboarding/SKILL.md index aef76a1..95ef68d 100644 --- a/gitops-app-onboarding/SKILL.md +++ b/gitops-app-onboarding/SKILL.md @@ -216,6 +216,7 @@ deploy/helm// - 模板中不要硬编码生产镜像 tag - 所有镜像名都从 values 读取 - 所有 Service 暴露方式都从 values 读取 +- 不要生成 Ingress 模板或 Ingress values - 设置 `enableServiceLinks: false` - 支持 `imagePullSecrets` - 环境变量注入保持可读 @@ -233,15 +234,15 @@ deploy/helm// ## 对外暴露模型 -必须根据目标应用的 README、现有代码和当前网络结构推断。 +对外暴露模型使用固定方式,不再按项目自由选择。 -例如: +- 固定使用 nginx 作为统一入口,代理前端与后端路径 +- 对外只暴露 nginx 入口,不直接暴露后端服务 +- 后端服务默认只在集群内通信 +- 不生成 Ingress 资源,也不要在 values 中保留 Ingress 开关 +- 不要因为应用有多个内部服务,就擅自发明多个公网 host -- 如果项目是一个 frontend 对外,再由 frontend 反代内部 API 路径,就保持这个模型 -- 如果项目明确使用 Ingress,才生成 Ingress -- 如果项目明确已经移除 Ingress,就不要重新引入 - -不要因为应用有多个内部服务,就擅自发明多个公网 host。 +如果项目当前没有现成的前端代理层,也应按这个固定模型为对外入口预留 nginx 代理方案,而不是改成 Ingress。 ## Release Bundle 规则 @@ -270,6 +271,7 @@ deploy/helm// - 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. 自检并在最终输出中说明风险点 ## 自检要求