Install
openclaw skills install @rohitg00/k8s-helmManage Helm charts, releases, and repositories. Use for Helm installations, upgrades, rollbacks, chart development, and release management.
openclaw skills install @rohitg00/k8s-helmComprehensive 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).
Use this skill when:
| 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 |
| 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_helm_chart(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 3, "service.type": "LoadBalancer"}
)
upgrade_helm_chart(
name="my-release",
chart="bitnami/nginx",
namespace="web",
values={"replicaCount": 5}
)
helm_rollback(
release_name="my-release",
namespace="web",
revision=1
)
uninstall_helm_chart(name="my-release", namespace="web")
helm_list(namespace="web")
helm_list()
helm_status(release_name="my-release", namespace="web")
helm_history(release_name="my-release", namespace="web")
helm_get(release_name="my-release", namespace="web")
helm_get(what="manifest", release_name="my-release", namespace="web")
helm_repo_add(name="bitnami", url="https://charts.bitnami.com/bitnami")
helm_repo_list()
helm_repo_update()
helm_search_repo(keyword="nginx")
helm_search_repo(keyword="bitnami/postgres")
helm_template(
name="my-release",
chart="./my-chart",
namespace="test",
values={"key": "value"}
)
helm_lint(chart_path="./my-chart")
helm_package(chart_path="./my-chart", destination="./packages")
helm_repo_add(name="bitnami", url="...")
helm_search_repo(keyword="postgresql")
helm_template(...)
install_helm_chart(...)
helm_status(...)
helm_history(name, namespace)
upgrade_helm_chart(name, chart, namespace, values)
helm_rollback(name, namespace, revision)
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"
)
See references/CHART-STRUCTURE.md for best practices on organizing Helm charts.
See TROUBLESHOOTING.md for common issues.
helm_status(name, namespace)
kubectl_get(resource_type="pods", namespace, label_selector="app.kubernetes.io/instance=<release>")
helm_history(name, namespace)
kubectl_get(resource_type="events", namespace)
uninstall_helm_chart(name, namespace)
helm_get(name, namespace)
helm_template(...)
upgrade_helm_chart(...)
See scripts/lint-chart.sh for automated chart validation.
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.yamlNamespace Isolation
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash