Helm Chart 模板生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/helm-chart-templater。
技能介绍
要解决的问题
把应用搬上 Kubernetes 时,最容易卡住的往往不是镜像本身,而是 chart 的骨架:Chart.yaml 的版本与 apiVersion 是否匹配目标 Helm release,values.yaml 里的字段能否真正被模板消费,依赖的子 chart 有没有被 Chart.lock 固定住。手写一套模板、反复用 helm template 试错的成本很高;而在 CI 里缺少统一校验时,一个格式错误的 values.yaml 通常要到部署阶段才暴露。
技能如何工作
这个技能把 Helm 客户端的能力封装成可调用的步骤,核心依赖四类能力:
- 模板渲染:内部调用
helm template,在不连接集群的前提下把Chart.yaml、values.yaml与templates/渲染成最终 manifest,方便本地直接检视产物。 - 静态校验:通过
helm lint检查 chart 结构、必填字段和模板里的常见错误,在提交前拦住低级问题。 - values schema 生成:借助
json-schema-generator从已有配置推导values.schema.json,让非法字段在安装阶段就被拒绝。 - 依赖解析:调用
helm dependency update拉取子 chart 并锁定Chart.lock,避免版本漂移。
典型的工作流是:先确定 chart 目录结构与命名,生成 Chart.yaml 和基础模板,再用 schema 约束 values,最后跑一遍 lint 与 template 做端到端验证。
适用边界
有几点需要明确。第一,它只负责生成与校验,不会替你改造应用,也不会自动创建 namespace、RBAC 或 StorageClass,这些仍需手动规划。第二,它依赖本机或 CI 环境中存在 Helm 客户端,且版本需与目标集群的 apiVersion 兼容;上游文档给出的是 Homebrew 与 Releases 页两种获取路径。第三,schema 的覆盖度取决于输入样例,样例中缺失的字段不会被约束。第四,依赖解析需要能访问 chart 仓库,离线环境下 helm dependency update 会失败。
使用场景
- 新服务准备上 K8s,需要生成 Chart.yaml、基础模板并渲染出 manifest 检查结构时
- CI 里需要自动跑 helm lint,拦截 Chart 格式或 values 字段错误后再合并代码时
- 想从已有 values 样例推导 values.schema.json,约束后续用户输入避免非法字段时
- Chart 依赖了子 chart,需要用 helm dependency update 拉取并锁定 Chart.lock 时
适合人员
- 负责把服务迁移到 K8s、需要快速产出 chart 并验证模板正确性的后端开发者
- 在 CI/CD 流水线中维护 Helm 仓库质量、需要 lint 与 schema 约束的 DevOps 工程师
- 发布平台团队里负责规范化 chart 结构与依赖管理的维护者
- 为内部服务封装 helm 包、希望减少 values 字段出错率的开发者