mcpField
H
helm-chart-builder

helm-chart-builder

github.com/borgheiクラウド・DevOps1.0k63 回インストール1 週間前に更新
リポジトリ

helm-chart-builder について

helm-chart-builder は Helm チャートの構造、テンプレート、依存関係、values ファイルを確認するスキルです。品質チェックと設定検証を行い、CI 向けの厳格モードや JSON 出力にも対応します。

主な機能

  1. 01チャート構造とメタデータの確認
  2. 02テンプレートと依存関係のレビュー
  3. 03values ファイルの検証
  4. 04リソースとセキュリティ設定の確認
  5. 05厳格モードと JSON 出力

活用シーン

  1. 01リリース前のチャートレビュー
  2. 02環境別 values 設定の検証
  3. 03リソース制限やセキュリティコンテキストの不足検出
  4. 04CI での依存バージョン確認

インストール

コマンドをコピーしてターミナルで実行します。

$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 ビルダースキルでは、構造の検証、values の確認、テンプレートの調査、依存関係のレビューなど、Helm チャートを自動で分析できます。チームが適切な構成、適切なセキュリティコンテキスト、完全なドキュメントを備えた高品質のチャートを維持できるよう支援します。

最初に確認すること

チャートを分析する前に、次の入力を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。

  • チャートのパス — 分析するチャートのディレクトリ(--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.yaml、values.yaml、templates/)が存在することを確認します
メタデータの確認Chart.yaml のフィールド、バージョン形式、appVersion を検証します
テンプレートのレビュー一般的なパターンや問題がないかテンプレートを調査します
依存関係の分析サブチャートの依存関係とバージョン制約をレビューします
ドキュメントの確認NOTES.txt と README があることを確認します
values_validator.py

チャートの想定と Kubernetes のベストプラクティスに照らして、values ファイルを検証します。

機能説明
リソース制限CPU/メモリのリクエストと制限を確認します
セキュリティコンテキストrunAsNonRoot、readOnlyRootFilesystem を検証します
レプリカ数本番環境に適したレプリカ数か確認します
イメージタグlatest の使用やイメージタグの未指定を警告します
Ingress の設定Ingress のアノテーションと TLS 設定を検証します

ワークフロー

チャートレビューのワークフロー
  1. 構造を分析 - chart_analyzer.py を実行して、チャートの構成を確認します
  2. デフォルト値を検証 - values_validator.py をデフォルトの values.yaml に対して実行します
  3. 環境を確認 - 各環境の values ファイルを検証します
  4. 検出結果をレビュー - まず重大な問題に対処し、その後で警告に対応します
  5. 再確認 - 修正が検証に合格することを確認します
リリース前のワークフロー
  1. バージョンを更新 - Chart.yaml の version と appVersion を更新します
  2. チャートを lint - chart_analyzer.py を厳密モードで実行します
  3. すべての values を検証 - 各環境の values ファイルを確認します
  4. 依存関係を確認 - サブチャートのバージョンが固定されていることを確認します
  5. パッケージ化 - チャートを 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

リファレンスドキュメント

よく使うパターンのクイックリファレンス

必須のチャート構造
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
nameチャート名(小文字)
versionSemVer 形式のチャートバージョン
appVersionアプリケーションのバージョン
descriptionチャートの簡単な説明
よくある問題
問題重大度修正方法
Chart.yaml がない重大必須のチャートメタデータを追加します
リソース制限がない警告CPU/メモリの制限を設定します
イメージタグが latest警告特定のバージョンを指定します
セキュリティコンテキストがない警告runAsNonRoot: true を追加します
NOTES.txt がない情報インストール後の説明を追加します
依存関係のバージョンが固定されていない警告サブチャートのバージョンを固定します

コメント