Prerequisites
Before onboarding a cluster, ensure you have:- A running Kubernetes cluster (local or cloud)
kubectlinstalled and configured to reach the clusterhelmv3 installed
Environment Options
Choose a cluster environment based on your use case:| Option | Best For | Command |
|---|---|---|
| Kind | Quick local testing | kind create cluster --name dorgu-dev |
| vCluster | Isolated testing on an existing cluster | vcluster create dorgu-dev -n dorgu-vcluster && vcluster connect dorgu-dev |
| Cloud | Full integration testing | Point kubectl at your EKS, GKE, or AKS cluster |
Onboarding Steps
Install the Dorgu Operator
The operator manages ClusterPersona and ApplicationPersona CRDs on your cluster. Install it via Helm:
Create a ClusterPersona
Initialize a ClusterPersona resource that captures your cluster’s operational identity:This discovers cluster metadata (nodes, Kubernetes version, platform type, installed add-ons) and creates the ClusterPersona CRD.Available environments:
development, staging, production, sandbox.Run the setup wizard
Install the blessed stack of production-ready infrastructure components:The setup command reads the ClusterPersona to determine the cluster environment and tailors component configuration accordingly (resource sizing, replica counts, storage classes).To preview what will be installed without making changes:
Verify Operator Installation
Confirm that the operator pods are running and CRDs are registered:Blessed Stack
Thedorgu cluster setup command installs a curated set of production-ready components:
| Component | Description |
|---|---|
| cert-manager | Automated TLS certificate management via Let’s Encrypt or internal CAs |
| ingress-nginx | HTTP/S ingress controller for routing external traffic |
| CloudNativePG | PostgreSQL operator, required by OpenObserve for metadata storage |
| OpenObserve | Unified observability platform — logs, metrics, and traces in one tool |
| Argo CD | Declarative GitOps continuous delivery engine |
| External Secrets | Sync secrets from cloud stores (AWS Secrets Manager, Vault, GCP Secret Manager) — optional |
Troubleshooting
Operator pods are in CrashLoopBackOff
Operator pods are in CrashLoopBackOff
Check the operator logs for errors:Common causes:
- Insufficient RBAC — The operator service account needs cluster-wide permissions to watch CRDs. Re-run the Helm install to ensure RBAC resources are created.
- CRD version mismatch — If you upgraded the operator, delete and re-apply CRDs:
kubectl apply -f https://github.com/dorgu-ai/dorgu-operator/releases/latest/download/crds.yaml
ClusterPersona creation fails with 'resource not found'
ClusterPersona creation fails with 'resource not found'
The CRDs may not be registered. Install them manually:Then retry:
Helm install times out for a blessed stack component
Helm install times out for a blessed stack component
Some components (especially OpenObserve with CloudNativePG) take longer to become ready. Re-run setup with verbose output to see real-time progress:If a specific component fails, check its namespace for pending pods:
Kind cluster TLS or networking issues
Kind cluster TLS or networking issues
Kind clusters run inside Docker and may have networking limitations, especially behind corporate proxies. Consider using vCluster instead:If you need to stick with Kind, ensure your Docker daemon has access to the internet and that no proxy settings interfere with Helm chart downloads.
dorgu cluster status shows no add-ons detected
dorgu cluster status shows no add-ons detected
The operator discovers add-ons by scanning namespaces for known deployments. If you installed components before the operator, restart the operator to trigger a re-scan:Wait a few seconds and re-check:
Next Steps
GitOps Mode
Scaffold an ArgoCD App-of-Apps repository instead of imperative Helm install.
Manifest Generation
Deep dive into how Dorgu analyzes apps and generates manifests.
Cluster Commands
Full reference for dorgu cluster init and dorgu cluster status.
Cluster Setup
All flags and options for dorgu cluster setup.