# Rollout Restart

> Restart a Kubernetes deployment and monitor rollout. Use when picking up new ConfigMap/Secret changes, recovering from stuck pods, or forcing a fresh start without redeploying.

- Skill: `dmzoneill/rollout-restart` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dmzoneill/rollout-restart`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dmzoneill/rollout-restart/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: dmzoneill (https://skillmd.com/u/dmzoneill)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/dmzoneill/rollout-restart

---


# Rollout Restart

Restart a deployment and monitor rollout. Uses devops persona (k8s tools).

## Inputs

| Input | Type | Default | Purpose |
|-------|------|---------|---------|
| `deployment` | string | required | Deployment name |
| `namespace` | string | required | Kubernetes namespace |
| `environment` | string | stage | stage, production, ephemeral |
| `wait` | bool | true | Wait for rollout to complete |

## Workflow

### 1. Load Persona
- `persona_load("devops")`

### 2. Pre-Restart Check
- `kubectl_describe_deployment(deployment="{{ deployment }}", namespace="{{ namespace }}", environment="{{ environment }}")`
- Verify deployment exists (replicas > 0)

### 3. Restart
- `kubectl_rollout_restart(deployment="{{ deployment }}", namespace="{{ namespace }}", environment="{{ environment }}")`

### 4. Monitor (if wait)
- `kubectl_rollout_status(deployment="{{ deployment }}", namespace="{{ namespace }}", environment="{{ environment }}")`

### 5. Post-Restart
- `kubectl_get_pods(namespace="{{ namespace }}", environment="{{ environment }}")`
- Filter pods for this deployment; count Running/Pending/Failed

### 6. Optional: Verify Environment
- `skill_run("environment_overview", '{"namespace": "{{ namespace }}", "environment": "{{ environment }}"}')`

### 7. Error Recovery
- "unauthorized" → `kube_login(cluster="stage" or "prod")`
- "deployment not found" → `kubectl_get_deployments()` to list available

### 8. Memory
- `memory_session_log("Restarted deployment", "{{ deployment }} in {{ namespace }}, healthy={{ healthy }}")`

## Output

Report: namespace, environment, restart status, before state (replicas, image), rollout status, pod health (Running/Pending/Failed), and log commands if unhealthy.

