Step 1: Install the operator with self-healing on
The self-healing loop is off by default.healthCheck.enabled=true turns it on.
--version resolves the newest published chart. To pin an exact chart version, see the installation guide. Drop the llm and aiRemediation flags to run rule-based — detection, diagnosis, and remediation all work without a key.
AI diagnosis enabled and AI remediation planning enabled. See AI setup if either is missing.
Step 2: Confirm cluster discovery
The operator auto-creates a cluster-scopedClusterPersona named dorgu-cluster on startup and populates it with nodes, add-ons, capacity, Kubernetes version, and platform type — typically within seconds.
dorgu health should report your nodes Ready, resource saturation, control-plane health, and Active Incidents: 0.
On a managed cluster (EKS, GKE, AKS) the control plane is not visible as pods, so it is reported as
Healthy (external/managed). That is expected.--set operator.autoCreateClusterPersona=false and apply your own.
Step 3: Give the operator something to watch
The operator only acts on applications that have anApplicationPersona, and it correlates signals to personas by name prefix — so the persona name must match the pod names.
.status.validation.issues — missing resource requests, an unenforced runAsNonRoot, a missing liveness probe. The phase reflects the overall state (Active, Degraded, or Failed), and it re-validates every 60 seconds or immediately when the Deployment changes. See validation.
Step 4: Break something and watch the loop
The fastest way to see self-healing work is a deliberate OOM. The CLI quickstart has a ready-to-apply manifest: a container that allocates ~90 MB against a 64Mi limit, plus a matching persona. Once it is crash-looping, one detection cycle later:Step 5: Approve, and watch it heal
ApplicationPersona spec — the app’s desired state — and moves the remediation to Applying. The CLI then patches the Deployment with your credentials so the pod actually recovers.
The remediation stays in
Applying / Verifying for the verification window — 10 minutes by default — before it reports Completed. At the end of that window the operator re-runs detection and rolls the change back automatically if health regressed. Your pod is healthy well before then.Next steps
Self-healing in depth
Signals, guardrails, verification, and troubleshooting
AI setup
Key handling, verification, and turning AI off
Validation details
What the operator validates and how severity works
Configuration
Flags for webhooks, ArgoCD, Prometheus, and WebSocket