Helm Chart Management
Manage Helm charts, releases, and repositories. Use for Helm installations, upgrades, rollbacks, chart development, and release management.
Rohit Ghumare
@rohitg00
Install
$ openclaw skills install @rohitg00/k8s-helmHelm Chart Management
Comprehensive Helm v3 operations using kubectl-mcp-server's 16 Helm tools.
Requires the
helm_devtoolset: start kubectl-mcp-server with--toolsets default,helm_dev(orMCP_TOOLSETS=default,helm_dev).
When to Apply
Use this skill when:
- User mentions: "helm", "chart", "release", "values", "repository"
- Operations: installing charts, upgrading releases, rollbacks
- Keywords: "package", "template", "lint", "repo add"
Priority Rules
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Template before install (dry run) | CRITICAL | helm_template |
| 2 | Check existing releases first | CRITICAL | helm_list |
| 3 | Lint charts before packaging | HIGH | helm_lint |
| 4 | Note revision before upgrade | HIGH | helm_history |
| 5 | Verify values after upgrade | MEDIUM | helm_get |
| 6 | Update repos before search | LOW | helm_repo_update |
Quick Reference
| Task | Tool | Example |
|---|---|---|
| Install chart | install_helm_chart | install_helm_chart(name, chart, namespace) |
| Upgrade release | upgrade_helm_chart | upgrade_helm_chart(name, chart, namespace, values) |
| Rollback | helm_rollback | helm_rollback(name, namespace, revision) |
| List releases | helm_list | helm_list(namespace) |
| Get values | helm_get | helm_get(name, namespace) |
| Template (dry run) | helm_template | helm_template(name, chart, namespace) |
Install Chart
install_helm_chart(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 3, "service.type": "LoadBalancer"}
)
Upgrade Release
upgrade_helm_chart(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 5}
)
Rollback Release
helm_rollback(
release_name="my-release",
namespace="web",
revision=1
)
Uninstall Release
uninstall_helm_chart(name="my-release", namespace="web")
Release Management
List Releases
helm_list(namespace="web")
helm_list()
Get Release Details
helm_status(release_name="my-release", namespace="web")
Release History
helm_history(release_name="my-release", namespace="web")
Get Release Values
helm_get(release_name="my-release", namespace="web")
Get Release Manifest
helm_get(what="manifest", release_name="my-release", namespace="web")
Repository Management
Add Repository
helm_repo_add(name="bitnami", url="https://charts.bitnami.com/bitnami")
List Repositories
helm_repo_list()
Update Repositories
helm_repo_update()
Search Charts
helm_search_repo(keyword="nginx")
helm_search_repo(keyword="bitnami/postgres")
Chart Development
Template Chart (Dry Run)
helm_template(
name="my-release",
chart="./my-chart",
namespace="test",
values={"key": "value"}
)
Lint Chart
helm_lint(chart_path="./my-chart")
Package Chart
helm_package(chart_path="./my-chart", destination="./packages")
Common Workflows
New Application Deployment
helm_repo_add(name="bitnami", url="...")
helm_search_repo(keyword="postgresql")
helm_template(...)
install_helm_chart(...)
helm_status(...)
Upgrade with Rollback Safety
helm_history(name, namespace)
upgrade_helm_chart(name, chart, namespace, values)
helm_rollback(name, namespace, revision)
Multi-Environment Deployment
install_helm_chart(
name="app",
chart="./charts/app",
namespace="dev",
values={"replicas": 1},
context="development"
)
install_helm_chart(
name="app",
chart="./charts/app",
namespace="staging",
values={"replicas": 2},
context="staging"
)
install_helm_chart(
name="app",
chart="./charts/app",
namespace="prod",
values={"replicas": 5},
context="production"
)
Chart Structure
See references/CHART-STRUCTURE.md for best practices on organizing Helm charts.
Troubleshooting
See TROUBLESHOOTING.md for common issues.
Release Stuck in Pending
helm_status(name, namespace)
kubectl_get(resource_type="pods", namespace, label_selector="app.kubernetes.io/instance=<release>")
Failed Installation
helm_history(name, namespace)
kubectl_get(resource_type="events", namespace)
uninstall_helm_chart(name, namespace)
Values Not Applied
helm_get(name, namespace)
helm_template(...)
upgrade_helm_chart(...)
Scripts
See scripts/lint-chart.sh for automated chart validation.
Best Practices
-
Always Template First
helm_template(name, chart, namespace, values) -
Use Semantic Versioning
helm_show(chart="bitnami/nginx", what="chart", version="1.2.3") -
Store Values in Git
values-dev.yamlvalues-staging.yamlvalues-prod.yaml
-
Namespace Isolation
- One namespace per release
- Easier cleanup and RBAC
Prerequisites
- Helm CLI: Required for all Helm operations
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Related Skills
- k8s-deploy - Deployment strategies
- k8s-gitops - GitOps Helm releases
Top skills in this category
diagram-generator
@matthewyinGenerate and edit diagrams with the mcp-diagram-generator MCP server. Use this skill for new diagrams, existing .drawio/.mmd/.excalidraw edits, network topology, architecture, flowchart, swimlane, sequence, class, ER, and Excalidraw whiteboard work. Always use this skill when the user asks to draw,
YouTube Transcript
@xthezealotFetch and summarize YouTube video transcripts. Use when asked to summarize, transcribe, or extract content from YouTube videos. Handles transcript fetching via residential IP proxy to bypass YouTube's cloud IP blocks.
Deep Scraper
@opsunPerforms deep scraping of complex sites like YouTube using containerized Crawlee, extracting validated, ad-free transcripts and content as JSON output.
Baidu Wenku AI picture book of video
@ide-rea百度文库AI绘本是一个基于人工智能制作绘本视频的工具,支持生成静态绘本和动态绘本(URL输出)。能帮助文本内容创作者们在缺乏绘画技能的情况下,快速生成精美绘本视频,提高内容生产效率。无论是在儿童教育、亲子互动、品牌营销,还是在社交媒体内容创作等领域都能应用。
Website
@ivangdavilaBuild fast, accessible, and SEO-friendly websites with modern best practices.