Remediation
Detecting what's wrong is half the job. Remediation is the operation that turns findings into fixes — with a human always in the loop.
Today remediation runs on upgrade analysis: when AI remediation is enabled on an UpgradeAnalysis, the operator proposes fixes for the problems it found and records them in a cluster-scoped RemediationPlan. Nothing runs until you approve it.
This static illustration provides a quick visual summary of the same flow:
The flow
- An analysis runs with
spec.ai.remediation.enabled: true. - The AI proposes actions; the operator creates a RemediationPlan in
pending-approval. - You review the actions and set
spec.approved: true. - The operator executes each non-skipped action and records the result.
Mirops proposes, you decide, the operator executes. With autoApprove off (the default), nothing touches the cluster until you say so.
Action types
Remediation is deliberately pod- and node-level — small, reversible operations:
| Action | What it does | Typical risk |
|---|---|---|
restart-pod | Deletes the pod so its controller recreates it. | low |
delete-pod | Force-deletes a stuck pod (grace period 0). | low–medium |
scale-deployment | Sets a Deployment's replica count. | medium |
cordon-node | Marks a node unschedulable (drain prep). | high |
Each action carries a reason (why the AI proposed it), a risk, and a skip flag.
Two independent gates
| Gate | Controls |
|---|---|
maxRiskLevel | Which actions are proposed. Actions above the ceiling (low / medium / high) are dropped from the plan. |
approved | Whether the plan runs. Default false. |
You can approve a plan but skip individual actions to run only some of them.
Scope today
Remediation covers workload instability and drain preparation. It does not upgrade add-ons, edit PodDisruptionBudgets, or restore volumes — those structural fixes stay in your hands (the analysis tells you exactly what to change). See the remediation guide to run one end to end.