Skip to main content

Prerequisites

Before onboarding a cluster, ensure you have:
  • A running Kubernetes cluster (local or cloud)
  • kubectl installed and configured to reach the cluster
  • helm v3 installed

Environment Options

Choose a cluster environment based on your use case:
vCluster avoids TLS certificate issues that are common with Kind behind corporate proxies. It creates a lightweight virtual cluster inside your existing cluster, giving you full isolation without provisioning new infrastructure.

Onboarding Steps

1

Install the CLI

Install Dorgu via go install:
Verify the installation:
2

Install the Dorgu Operator

The operator manages ClusterPersona and ApplicationPersona CRDs on your cluster. Install it via Helm:
3

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.
4

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:
5

Verify the cluster

Check that all components are healthy:
This reports node capacity, Kubernetes version, platform type, installed add-ons, namespace summary, and ApplicationPersona count.

Verify Operator Installation

Confirm that the operator pods are running and CRDs are registered:
You should see two CRDs:

Blessed Stack

The dorgu cluster setup command installs a curated set of production-ready components:
The versions below are upstream Helm chart versions for each third-party component — they are not Dorgu release versions.
Components are installed in dependency order. For example, cert-manager is installed before ingress-nginx (which needs TLS), and CloudNativePG is installed before OpenObserve (which needs PostgreSQL).

Troubleshooting

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
The CRDs may not be registered. Install them manually:
Then retry:
Some components take longer to become ready. OpenObserve in particular uses an extended 15-minute Helm timeout (vs the default 5 minutes) because it depends on CloudNativePG PostgreSQL pods being fully provisioned first.Re-run setup with verbose output to see real-time progress:
If a specific component fails, check its namespace for pending pods:
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.
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.