docs: refine onboarding prompts and dependency rules
This commit is contained in:
parent
d34dd5f9f6
commit
f23ec29dcc
@ -19,6 +19,10 @@
|
||||
- 修当前平台的发版链路
|
||||
- 让应用仓库在发版时推送自己的 release 结果
|
||||
- 按固定 nginx + `NodePort` 代理模型组织前后端对外暴露
|
||||
- 按用户或平台已分配的 `NodePort` 配置 nginx 对外入口
|
||||
- 在必填私有配置缺失时先逐项询问,再保留未解决的缺失警告
|
||||
- 在应用依赖平台 shared 之外的私有服务时,补齐对应资源或明确外部依赖来源,而不是只写连接参数
|
||||
- 对应用自带私有依赖的内部口令优先自动生成,对外部集成凭据再向用户逐项索取
|
||||
|
||||
不适合处理:
|
||||
|
||||
|
||||
@ -218,6 +218,8 @@ deploy/helm/<app-name>/
|
||||
- 所有 Service 暴露方式都从 values 读取
|
||||
- nginx 对外 Service 固定使用 `NodePort`
|
||||
- 后端 Service 默认使用集群内访问类型,不对外暴露 `NodePort`
|
||||
- 如果应用运行时依赖某个不属于平台 shared 的私有服务,Chart / release bundle 必须把该依赖的来源表达清楚:要么生成应用自带资源,要么明确引用用户已提供的外部地址;不要只留下一个指向不存在服务的 host
|
||||
- `NodePort` 必须来自用户或平台已分配值,agent 不得自行猜测或默认分配端口
|
||||
- 不要生成 Ingress 模板或 Ingress values
|
||||
- 设置 `enableServiceLinks: false`
|
||||
- 支持 `imagePullSecrets`
|
||||
@ -241,11 +243,19 @@ deploy/helm/<app-name>/
|
||||
- 固定使用 nginx 作为统一入口,代理前端与后端路径
|
||||
- 对外只暴露 nginx 入口,并通过 `NodePort` 提供入口访问
|
||||
- 后端服务默认只在集群内通信
|
||||
- 每个应用对外只保留一个 nginx `NodePort` 入口
|
||||
- 不生成 Ingress 资源,也不要在 values 中保留 Ingress 开关
|
||||
- 不要因为应用有多个内部服务,就擅自发明多个公网 host
|
||||
|
||||
如果项目当前没有现成的前端代理层,也应按这个固定模型为对外入口预留 nginx 代理方案,而不是改成 Ingress。
|
||||
|
||||
`NodePort` 处理规则:
|
||||
|
||||
- 如果用户或项目文档已经提供了分配好的 `NodePort`,直接使用
|
||||
- 如果没有提供,先完成所有非阻塞工作,最后只问用户一个最小必要问题来索取该端口
|
||||
- 不要擅自写入示例端口或看起来顺手的默认值,例如 `30080`、`30081`
|
||||
- 如果用户暂时没有提供,最终输出中必须明确说明 nginx 对外 `NodePort` 尚未分配,因此外部访问配置未完成
|
||||
|
||||
## Release Bundle 规则
|
||||
|
||||
应用仓库中的 `deploy/release/` 是导出给当前 GitOps 仓库的标准模板。
|
||||
@ -274,6 +284,7 @@ deploy/helm/<app-name>/
|
||||
- 私有镜像拉取时包含 `imagePullSecrets`
|
||||
- 与 Chart schema 保持一致
|
||||
- nginx 对外入口使用 `NodePort`
|
||||
- `NodePort` 值来自用户或平台已分配结果,而不是模板内置默认值
|
||||
- 不包含 Ingress 配置项
|
||||
|
||||
### `secret.yaml`
|
||||
@ -283,8 +294,12 @@ deploy/helm/<app-name>/
|
||||
规则:
|
||||
|
||||
- 不要为了“看起来完整”而伪造假的生产值
|
||||
- 如果这些值是接入该应用所必需的,应在完成所有非阻塞工作后向用户索取
|
||||
- 先区分“外部集成凭据”和“应用自带私有依赖的内部口令”
|
||||
- 如果是外部集成凭据,应在完成所有非阻塞工作后主动向用户索取,而不是只在最后留警告
|
||||
- 如果是应用自带私有依赖的内部口令,优先由生成流程一次性生成并写入 release secret,而不是要求用户手填
|
||||
- 如果用户暂时没有提供,不要造占位内容冒充可部署配置
|
||||
- 对部署阻塞项,按最小必要粒度逐项提问,优先直接问“这一项应填什么”
|
||||
- 只有当用户明确暂不提供、或本轮对话结束时仍未补齐,才在最终输出中保留缺失项警告
|
||||
- 可以只保留结构,或暂不生成具体 secret 内容,但必须在最终输出中明确警告缺失项与影响
|
||||
|
||||
release bundle 只负责导出当前应用自己的发布结果,不负责维护 GitOps 仓库中的其他对象。
|
||||
@ -317,6 +332,7 @@ shared 边界:
|
||||
|
||||
- shared 只负责共享基础设施和通用运行时地址
|
||||
- `Neo4j` 不再作为平台共享基础设施提供;如应用需要图数据库,应由应用自己部署和维护
|
||||
- 只要应用运行时配置仍引用某个应用私有依赖,就应在应用 Chart / release bundle 中把它一并表达出来,而不是只在 values 里保留连接参数
|
||||
- 不要把某个厂商的客户端证书、私钥、应用专属 `app_id`、tenant id、client id、namespace id、应用独有 webhook 签名密钥放进 `shared/`
|
||||
- 镜像拉取默认使用 `registry-pull-secret`,不要随便为每个应用再造一个 pull secret,除非平台模型发生变化
|
||||
|
||||
@ -340,6 +356,8 @@ shared 边界:
|
||||
- 只在真正阻塞最终可部署结果时才问
|
||||
- 先做完不依赖这些值的工作
|
||||
- 先确认是否启用百智云用户鉴权,再按固定顺序逐项索取必填材料
|
||||
- 对外部集成字段,应在非阻塞工作完成后逐项索取,而不是直接跳到最终缺失项警告
|
||||
- 对应用自带私有依赖内部口令,优先自动生成;只有用户明确要求自定义时才向用户索取
|
||||
- 不要用“把需要的都给我”这种模糊问法
|
||||
- 缺少任一必填项时,要明确指出当前卡在哪一项
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user