用途:在 deploy/helm/nvca-operator 目录下定制 NVCA Operator 的 Helm chart values,适用于修改内置默认值、调整由 stack 派生的安装值,以及添加部署时覆盖。
取值流程:存在两条安装路径,只有一条会从 stack 渲染 values。一是 nvca-operator/values.yaml 作为 chart 自身默认值,通过 make install values=<path> 直接使用指定 values 文件;二是 stack 环境经 scripts/render_values_from_stack_env.sh 生成 stack 感知的 values,再通过 make install-from-stack 使用。两条路径都接受 additional_values=<path> 做进一步覆盖。
永久默认值:直接编辑 nvca-operator/values.yaml,只有一个 chart 且没有 vendoring 步骤,该文件即事实来源。只有适合所有使用方的默认值才应放入其中;与单一部署绑定的值由安装方提供,例如 compute-plane stack 在 deploy/stacks/nvcf-compute-plane/ 下设置 nameOverride、fullnameOverride 和 selfManaged.nvcaVersion;ngc 托管安装则在命令行传入 ngcConfig.serviceKey 和 helmManaged.* 值。image.tag 默认为空,模板回退到 appVersion,由发布打包时写入。
部署时覆盖:使用 additional_values 做一次性验证或环境特定值,例如 make install-from-stack stack_repo=../../../deploy/stacks/self-managed stack_env=local additional_values=override.yml。密钥、凭据、集群特定 ID 和临时验证改动应使用部署时覆盖。
校验:可运行 make lint、make template、make validate,以及 tools/ci/validate-helm-chart deploy/helm/nvca-operator/nvca-operator -f tools/ci/helm-validate-values/nvca-operator.yaml。
注意事项:安装时 values 在生成的 stack 感知 values 之后分层;对嵌套键和带引号字符串使用 yq 需谨慎;Chart.yaml 的 name 保留在 git 中且必须与子项目的 service_name 一致,不一致时发布会被拒绝,只有 version 在打包时设置,appVersion 由 chart 所安装的 nvca 发布写入;切勿提交真实 service key 或渲染出的密钥材料。