mcpField
H
helm-chart-builder

helm-chart-builder

github.com/borgheiCloud & DevOps1.0k63 installsUpdated 1w ago
Repository

About helm-chart-builder

helm-chart-builder is a skill for inspecting Helm chart structure, templates, dependencies, and values files. It supports chart quality checks and configuration validation, including strict and JSON modes for CI.

Key features

  1. 01Chart structure and metadata checks
  2. 02Template and dependency review
  3. 03Values file validation
  4. 04Resource and security checks
  5. 05Strict and JSON output modes

Use cases

  1. 01Review a chart before release
  2. 02Validate environment-specific values
  3. 03Find missing limits or security contexts
  4. 04Check dependency versions in CI

Install

Copy the command and run it in a terminal.

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

After installing, type/helm-chart-builderin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project README

Helm Chart Builder

Category: Engineering Domain: Kubernetes & Helm

Overview

The Helm Chart Builder skill provides automated analysis of Helm charts including structure validation, values checking, template inspection, and dependency review. It helps teams maintain high-quality charts with correct configurations, proper security contexts, and complete documentation.

Clarify First

Before analyzing the chart, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • Chart path — which chart directory to analyze (sets --path/--chart)
  • Values files — which environment values files to validate (sets --values and what gets checked against best practices)
  • Strictness — strict/lint mode and JSON for CI (sets --strict --format json and whether findings gate the pipeline)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.

Quick Start

# 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

Tools Overview

chart_analyzer.py

Analyzes Helm chart structure, metadata, templates, and dependencies.

FeatureDescription
Structure validationChecks required files exist (Chart.yaml, values.yaml, templates/)
Metadata checkValidates Chart.yaml fields, version format, appVersion
Template reviewInspects templates for common patterns and issues
Dependency analysisReviews subchart dependencies and version constraints
Documentation checkVerifies NOTES.txt and README presence
values_validator.py

Validates values files against chart expectations and Kubernetes best practices.

FeatureDescription
Resource limitsChecks for CPU/memory requests and limits
Security contextValidates runAsNonRoot, readOnlyRootFilesystem
Replica countChecks for production-appropriate replica counts
Image tagsFlags use of latest or missing image tags
Ingress configValidates ingress annotations and TLS settings

Workflows

Chart Review Workflow
  1. Analyze structure - Run chart_analyzer.py to check chart organization
  2. Validate defaults - Run values_validator.py against default values.yaml
  3. Check environments - Validate each environment's values file
  4. Review findings - Address critical issues first, then warnings
  5. Re-check - Confirm fixes pass validation
Pre-Release Workflow
  1. Bump version - Update Chart.yaml version and appVersion
  2. Lint chart - Run chart_analyzer.py in strict mode
  3. Validate all values - Check every environment's values file
  4. Check dependencies - Ensure subchart versions are pinned
  5. Package - Chart is ready for helm package
CI Integration
# 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

Reference Documentation

Common Patterns Quick Reference

Required Chart Structure
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 Best Practices
SettingRequirementWhy
resources.limitsRequiredPrevents resource exhaustion
resources.requestsRequiredEnables proper scheduling
securityContext.runAsNonRootRequiredSecurity baseline
image.tagRequired (not latest)Reproducible deployments
replicaCount >= 2Recommended for prodHigh availability
ingress.tlsRecommendedEncrypted traffic
Chart.yaml Required Fields
FieldDescription
apiVersionv2 for Helm 3
nameChart name (lowercase)
versionSemVer chart version
appVersionApplication version
descriptionBrief chart description
Common Issues
IssueSeverityFix
Missing Chart.yamlCriticalAdd required chart metadata
No resource limitsWarningSet CPU/memory limits
Latest image tagWarningPin specific version
No security contextWarningAdd runAsNonRoot: true
Missing NOTES.txtInfoAdd post-install notes
Unpinned dependenciesWarningPin subchart versions

Comments

Markdown supported