Install
openclaw skills install @rohitg00/k8s-deployDeploy and manage Kubernetes workloads with progressive delivery. Use for deployments, rollouts, blue-green, canary releases, scaling, and release management.
openclaw skills install @rohitg00/k8s-deployComprehensive deployment strategies using kubectl-mcp-server tools, including Argo Rollouts and Flagger for progressive delivery.
Requires the
helm_dev,rolloutstoolsets: start kubectl-mcp-server with--toolsets default,helm_dev,rollouts(orMCP_TOOLSETS=default,helm_dev,rollouts).
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Preview with template before apply | CRITICAL | helm_template |
| 2 | Check existing state first | CRITICAL | kubectl_get, helm_list |
| 3 | Use progressive delivery for prod | HIGH | rollout_* tools |
| 4 | Verify health after deployment | HIGH | kubectl_top, kubectl_get |
| 5 | Keep rollback revision noted | MEDIUM | helm_history |
| 6 | Scale incrementally | LOW | kubectl_scale |
| Task | Tool | Example |
|---|---|---|
| Deploy from manifest | kubectl_apply | kubectl_apply(yaml, namespace) |
| Deploy with Helm | install_helm_chart | install_helm_chart(name, chart, namespace) |
| Update image | kubectl_patch | kubectl_patch(resource_type="deployment", name, ns, patch) |
| Scale replicas | kubectl_scale | kubectl_scale(resource_type="deployment", name, ns, replicas=5) |
| Rollback | kubectl_rollout | kubectl_rollout(action="undo", resource_type="deployment", name, ns) |
| Canary promote | promote_rollout | promote_rollout(name, ns) |
kubectl_apply(manifest_yaml, namespace)
install_helm_chart(
name="my-app",
chart="bitnami/nginx",
namespace="production",
values={"replicaCount": 3}
)
kubectl_scale(resource_type="deployment", name, namespace, replicas=5)
kubectl_patch(
resource_type="deployment", name=name, namespace=namespace,
patch={"spec": {"template": {"spec": {"containers": [{"name": "app", "image": "myapp:v2"}]}}}},
)
kubectl_rollout(action="status", resource_type="deployment", name=name, namespace=namespace)
For canary and blue-green deployments with analysis.
List Rollouts
get_rollouts_list(namespace)
Canary Promotion
get_rollout_status(name, namespace)
promote_rollout(name, namespace)
Abort Bad Release
abort_rollout(name, namespace)
Retry Failed Rollout
retry_rollout(name, namespace)
See ROLLOUTS.md for detailed Argo Rollouts workflows.
For service mesh-integrated canary releases:
get_flagger_canaries(namespace)
get_flagger_canary(name, namespace)
| Strategy | Use Case | Tools |
|---|---|---|
| Rolling | Standard updates | kubectl_patch, kubectl_rollout |
| Recreate | Stateful apps | Set strategy in manifest |
| Canary | Risk mitigation | rollout_* tools |
| Blue-Green | Zero downtime | rollout_* with blue-green |
See references/STRATEGIES.md for detailed strategy comparisons.
kubectl_rollout(action="history", resource_type="deployment", name=name, namespace=namespace)
kubectl_rollout(action="undo", resource_type="deployment", name=name, namespace=namespace)
helm_rollback(name, namespace, revision=1)
abort_rollout(name, namespace)
After deployment, verify health:
kubectl_get(resource_type="pods", namespace, label_selector="app=myapp")
kubectl_top(name, namespace)
kubectl_get(resource_type="endpoints", namespace)
Deploy to specific clusters using context:
install_helm_chart(
name="app",
chart="./charts/app",
namespace="prod",
context="production-us-east"
)
install_helm_chart(
name="app",
chart="./charts/app",
namespace="prod",
context="production-eu-west"
)
See examples/ for ready-to-use deployment manifests:
rollout_* tools
kubectl create namespace argo-rollouts
kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml
flagger_* tools
kubectl apply -k github.com/fluxcd/flagger/kustomize/kubernetes