What the operator does
AI self-healing
Detects OOMKills, crash loops, saturation, and node pressure; diagnoses root cause; proposes an ordered fix with guardrails and automatic rollback. Human approval required by default.
ApplicationPersona validation
Validates deployments against persona constraints: resource limits, replica counts, health probes, and security context. Issues are reported in the persona’s status.
ClusterPersona discovery
Discovers cluster state including nodes, add-ons, resource capacity, Kubernetes version, and platform type. Reconciles every 5 minutes.
ArgoCD integration
Watches ArgoCD Application resources and reflects sync status, health status, and revision info into the persona’s
.status.argoCD field.Prometheus baselines
Queries Prometheus for CPU and memory usage over a 1-hour window and stores baselines in
.status.learned.resourceBaseline.Validating webhook
Optionally intercepts Deployment create/update operations. Runs in advisory (warn) or enforcing (deny) mode.
WebSocket server
Enables real-time communication with the CLI for
dorgu watch and dorgu sync commands via topic-based pub/sub.Non-invasive design — The operator never creates or modifies workload resources (Deployments, Services). It reads cluster state, updates its own CRDs, and recommends. When you approve a remediation it patches the ApplicationPersona spec — the app’s desired-state record — and the CLI applies the workload change with your credentials. This is a core architectural invariant, not a setting.
How it works
The CLI and GitOps pipelines own thespec fields of Persona CRDs (desired state). The operator owns the status fields (observed reality). This separation ensures a clean contract between what you declare and what the cluster reports.
Get started
Self-healing
The loop, the guardrails, and how verification works
Quickstart
Install with AI self-healing on and watch it run
AI setup
BYO Anthropic key, injected from a Secret
Installation
Install via Helm, kustomize, or build from source