Onboarding an application
Dorgu only watches workloads that have anApplicationPersona. On a cluster that already runs the app, dorgu persona import reads the live Deployment and synthesizes one.
Import never modifies a workload. The personas can equally be committed to Git and synced by your GitOps tool; the Operator does not care how they arrive.
Detect, propose, approve, heal
This is the self-healing loop end to end. The Operator never writes the Deployment; the CLI does, as you, after you approve and after the operator’s gate has cleared the approval on the live cluster. What the CLI writes is the operator’s apply ticket and nothing else. The stages the gate runs, and what each refuses, are in How Dorgu decides. On a workload that Helm, ArgoCD, or Flux owns, the preflight stops the CLI before any write and it exits4 with the owner-shaped steps instead. See the ownership model and dorgu remediation.
Async Validation (Controller)
The ApplicationPersona controller runs a continuous reconciliation loop. It re-validates every 60 seconds and optionally learns resource baselines from Prometheus. The controller reconciles on watch events and on a 60-second timer. If Prometheus is available, it queries resource usage to build learned baselines over time.ArgoCD Integration
When ArgoCD is present in the cluster, the Operator watches ArgoCD Application resources and reflects their sync and health status into the corresponding ApplicationPersona. The ArgoCD watcher extracts sync status, health status, and the current revision from ArgoCD Application objects, then writes them into the persona’sstatus.argoCD field.
Prometheus Baseline Learning
When Prometheus is available, the controller queries it during reconciliation to learn actual resource consumption patterns for each application. The controller queries average and peak CPU/memory over a 1-hour window and stores the results instatus.learned.resourceBaseline. These baselines can then power right-sizing recommendations.