mcpField
H
helm-chart-builder

helm-chart-builder

github.com/borghei云与 DevOps1.0k63 次安装1 周前更新
代码仓库

关于 helm-chart-builder

helm-chart-builder 是用于检查 Helm Chart 结构、模板、依赖和 values 文件的技能,支持质量检查与配置验证,并提供适用于 CI 的严格模式和 JSON 输出。

主要功能

  1. 01Chart 结构与元数据检查
  2. 02模板与依赖审查
  3. 03Values 文件验证
  4. 04资源与安全设置检查
  5. 05严格模式与 JSON 输出

适用场景

  1. 01发布前审查 Chart
  2. 02验证各环境的 values 配置
  3. 03查找缺失的资源限制或安全上下文
  4. 04在 CI 中检查依赖版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/borghei/claude-skills --skill helm-chart-builder

安装后在 Claude Code 中输入/helm-chart-builder确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
Chart.yaml
values.yaml
references/
helm-best-practices.md
scripts/
chart_analyzer.py
values_validator.py

详细介绍

Helm Chart 构建器

类别: 工程 领域: Kubernetes 与 Helm

概述

Helm Chart 构建器技能可自动分析 Helm Chart,包括结构验证、values 检查、模板审查和依赖项审查。它帮助团队维护高质量的 Chart,确保配置正确、安全上下文适当且文档完整。

先澄清

分析 Chart 之前,请确认以下输入。如果有任何信息未知或含糊不清,请先询问——不要自行假设:

  • Chart 路径 — 要分析的 Chart 目录(设置 --path/--chart)
  • Values 文件 — 要验证的环境 values 文件(设置 --values,并确定要检查哪些最佳实践)
  • 严格程度 — 严格/lint 模式及用于 CI 的 JSON(设置 --strict --format json,并确定发现的问题是否会阻止流水线运行)

停止规则:只询问最可能影响输出的 2-3 个问题。如果用户说“先起草”,则继续,并在产出内容顶部列出假设。

快速开始

# Analyze chart structure and quality
python scripts/chart_analyzer.py --path ./charts/my-app

# Validate values.yaml against chart requirements
python scripts/values_validator.py --chart ./charts/my-app --values values-prod.yaml

# JSON output for CI
python scripts/chart_analyzer.py --path ./charts/my-app --format json

# Validate multiple values files
python scripts/values_validator.py --chart ./charts/my-app --values values-dev.yaml values-prod.yaml

工具概览

chart_analyzer.py

分析 Helm Chart 的结构、元数据、模板和依赖项。

功能描述
结构验证检查必需文件是否存在(Chart.yaml、values.yaml、templates/)
元数据检查验证 Chart.yaml 字段、版本格式和 appVersion
模板审查检查模板中的常见模式和问题
依赖项分析审查子 Chart 依赖项和版本约束
文档检查检查 NOTES.txt 和 README 是否存在
values_validator.py

根据 Chart 预期和 Kubernetes 最佳实践验证 values 文件。

功能描述
资源限制检查 CPU/内存 requests 和 limits
安全上下文验证 runAsNonRoot、readOnlyRootFilesystem
副本数量检查副本数量是否适合生产环境
镜像标签标记使用 latest 或缺少镜像标签的情况
Ingress 配置验证 Ingress 注解和 TLS 设置

工作流

Chart 审查工作流
  1. 分析结构 - 运行 chart_analyzer.py 检查 Chart 组织结构
  2. 验证默认值 - 使用默认 values.yaml 运行 values_validator.py
  3. 检查环境配置 - 验证每个环境的 values 文件
  4. 审查发现的问题 - 先处理严重问题,再处理警告
  5. 再次检查 - 确认修复通过验证
发布前工作流
  1. 提升版本 - 更新 Chart.yaml 中的 version 和 appVersion
  2. Lint Chart - 以严格模式运行 chart_analyzer.py
  3. 验证所有 values - 检查每个环境的 values 文件
  4. 检查依赖项 - 确保子 Chart 版本已固定
  5. 打包 - Chart 已准备好通过 helm package 打包
CI 集成
# Structure check
python scripts/chart_analyzer.py --path ./charts/my-app --format json --strict

# Values validation for all environments
for env in dev staging production; do
  python scripts/values_validator.py \
    --chart ./charts/my-app \
    --values "values-${env}.yaml"
done

参考文档

常见模式速查

必需的 Chart 结构
my-chart/
  Chart.yaml          # Required: chart metadata
  values.yaml         # Required: default values
  templates/          # Required: template directory
    deployment.yaml
    service.yaml
    _helpers.tpl      # Recommended: template helpers
    NOTES.txt         # Recommended: post-install notes
  charts/             # Optional: subchart dependencies
Values 最佳实践
设置要求原因
resources.limits必需防止资源耗尽
resources.requests必需支持正确调度
securityContext.runAsNonRoot必需安全基线
image.tag必需(不能为 latest)确保部署可复现
replicaCount >= 2生产环境建议高可用性
ingress.tls建议加密流量
Chart.yaml 必需字段
字段描述
apiVersionHelm 3 使用 v2
nameChart 名称(小写)
versionSemVer Chart 版本
appVersion应用版本
descriptionChart 简要描述
常见问题
问题严重程度修复方法
缺少 Chart.yaml严重添加必需的 chart 元数据
未设置资源限制警告设置 CPU/内存限制
使用 latest 镜像标签警告固定具体版本
缺少安全上下文警告添加 runAsNonRoot: true
缺少 NOTES.txt信息添加安装后说明
依赖项未固定版本警告固定子 chart 版本

评论

支持 Markdown