Installation Guide
Install Conductor on your Kubernetes clusters using the method that best fits your workflow. Choose from console-based creation, CLI automation, or Helm charts for GitOps environments.
Installation options
🖥️Console (Recommended)
⌨️Diagrid CLI
📦Helm (Enterprise)
Prerequisites
- Read the Prerequisites deployment checklist
- Installation tool: Console, Diagrid CLI, or Helm 3.x
- Review custom configuration options for the Condutor Agent and Dapr control plane in the Configuration Guide
Console installation
The fastest way to get started with Conductor using the web console.
Login and create cluster connection
- Navigate to Conductor console
- Log in with your account credentials
- Click "Connect Cluster" or "Create Cluster Connection"
Configure Cluster Settings
- Local/Dev
- Managed (EKS/AKS/GKE)
- On-Premises
Cluster Settings:
- Name: Choose a descriptive name (e.g.,
dev-local) - Distribution: Select
Other - Cluster Type: Non production
Options:
- ✅ Install prerequisites (metrics server)
- ✅ Install Dapr (latest version recommended)
Cluster Settings:
- Name: Use environment naming (e.g.,
prod-us-east-1) - Distribution: Select your provider (EKS, AKS, GKE, etc.)
- Cluster Type: Production
Options:
- ⬜ Install prerequisites (usually pre-installed)
- ✅ Install Dapr (or skip if already installed)
- Dapr Version: Choose specific version
Cluster Settings:
- Name: Use datacenter/region naming
- Distribution: Other or OpenShift
- Cluster Type: Production
Options:
- ✅ Install prerequisites (check cluster first)
- ✅ Install Dapr (choose specific version)
- Consider custom images for air-gapped environments
Advanced ConfigurationOptional
Dapr configuration
Customize Dapr control plane:
- Conductor management: Configure Conductor to manage and sync Dapr installation reconciling all changes made outside of the tool
- High Availability: Enable HA mode for production
- mTLS: Certificate validity and rotation settings
See Dapr Configuration for details.
Agent configuration
Configure Conductor agent deployment:
- Auto-upgrade: Enable to keep the agent up-to-date
- Resource Limits: CPU and memory limits for agent pods
- Node Selectors: Target specific node pools
- Tolerations: Run on tainted nodes
See Conductor Agent Configuration for details.
Install agent
- Click "Create" - Conductor generates installation command and Kubernetes manifests
- Copy the generated
kubectl applycommand - Run in your terminal:
kubectl apply -f "https://api.diagrid.io/v1/...YOUR_TOKEN..."
Verify Installation
Check agent pods:
kubectl get pods -n diagrid-cloud
Expected output:
NAME READY STATUS RESTARTS AGE
diagrid-agent-xxxxx 1/1 Running 0 30s
diagrid-agent-logs-collector-xxxxx 1/1 Running 0 30s
diagrid-agent-otel-0 1/1 Running 0 30s
Conductor console:
- Agent status:
Online(within 1-2 minutes) - Dapr control plane:
Healthy
Your cluster is now connected to Conductor. Navigate to the Applications tab to start monitoring your Dapr workloads.
CLI Installation
Automate cluster connections using the Diagrid CLI for scriptable, repeatable deployments.
Install the CLI and authenticate
Install Diagrid CLI:
- macOS
- Linux
- Windows
brew install diagrid/tap/diagrid
curl -o- https://downloads.diagrid.io/cli/install.sh | bash
iwr -useb https://downloads.diagrid.io/cli/install.ps1 | iex
Authenticate:
diagrid login
Set product context:
diagrid product use conductor
Create cluster connection
Basic connection (monitoring only):
diagrid clusters connect -n my-cluster
With Dapr installation:
diagrid clusters connect \
-n my-cluster \
--dapr-install \
--dapr-version 1.xx.x
Custom configuration options
Run the help command to see the additional options:
diagrid clusters connect -h
Save cluster ID from output:
Cluster ID: 12345678-abcd-1234-abcd-123456789012
Get installation manifests
Retrieve manifest URL using the cluster ID from the previous step:
diagrid clusters manifests <cluster-id>
Or download manifests locally:
diagrid clusters manifests <cluster-id> > conductor-manifests.yaml
Install agent
Apply manifests:
kubectl apply -f conductor-manifests.yaml
Or use the generated URL directly:
kubectl apply -f "$(diagrid clusters manifests <cluster-id>)"
Verify Installation
Check connection status:
diagrid clusters list
View cluster details:
diagrid clusters get <cluster-id>
Check agent logs:
kubectl logs -n diagrid-cloud -l app=diagrid-agent --tail=50
Helm Installation
Use Helm charts for production deployments with GitOps workflows and read-only use cases.
Helm-managed clusters are available in Conductor Enterprise. When using Helm, some features are read-only in the console:
- ❌ Automatic agent upgrades
- ❌ Dapr upgrades via console/CLI
- ❌ Certificate rotation via console
- ✅ Monitoring and insights
- ✅ Advisor recommendations
Create Helm-managed cluster connection
- CLI
- Console
# Authenticate
diagrid login
diagrid product use conductor
# Create Helm-managed connection
diagrid clusters connect -n my-helm-cluster --helm-managed
# Save the cluster ID from output
- Navigate to Conductor Console
- Click "Connect Cluster"
- Enable "Helm managed" toggle
- Configure settings and click "Create"
Download Helm values
Get agent values:
diagrid clusters helmvalues <cluster-id> > conductor-agent-values.yaml
Get Dapr values (if installing Dapr via Helm):
diagrid clusters helmvaluesdapr <cluster-id> > dapr-values.yaml
The values file contains sensitive credentials. Store securely and avoid committing to public repositories.
Install Conductor agent
Install agent:
Deploy the Conductor agent to your cluster using the generated values.
helm install conductor-agent oci://public.ecr.aws/diagrid/conductor-charts/agent \
--version <version-number> \
-n diagrid-cloud --create-namespace \
-f conductor-agent-values.yaml
Install DaprOptional
Add Dapr Helm repository:
helm repo add dapr https://dapr.github.io/helm-charts/
helm repo update
Install Dapr:
helm install dapr dapr/dapr \
--version=<dapr-version> \
--namespace dapr-system --create-namespace \
-f dapr-values.yaml --wait
Verify installation
Check Helm releases:
helm list -n diagrid-cloud
helm list -n dapr-system
Verify pods:
kubectl get pods -n diagrid-cloud
kubectl get pods -n dapr-system
Check in Conductor console:
- Navigate to Clusters
- Verify cluster shows as
Online - Check Dapr control plane status
Helm values reference
Agent Helm Values
Required values (don't modify):
caCertPem: "your-ca-cert"
global:
orgId: "your-org-id"
agentId: "your-agent-id"
manifestId: "your-manifest-id"
agent:
key: "your-agent-key"
keyB64: "your-key-base64"
Customizable values:
agent:
replicas: 2
logLevel: info
resources:
requests:
cpu: 10m
memory: 250Mi
limits:
memory: 750Mi
otelMetricsCollector:
enabled: true
replicas: 2
resources:
requests:
cpu: 100m
memory: 250Mi
limits:
memory: 2Gi
otelLogsCollector:
enabled: true
resources:
requests:
cpu: 10m
memory: 250Mi
limits:
memory: 750Mi
Dapr Helm Values
Development environment:
global:
ha:
enabled: false
mtls:
enabled: true
dapr_operator:
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: "1"
Production environment:
global:
ha:
enabled: true
mtls:
enabled: true
dapr_operator:
replicaCount: 3
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 1024Mi
cpu: "1"
GitOps integration
ArgoCD Example
Read the step-by-step instructions in the blog Dapr meets GitOps: A Guide to Dapr and Argo CD (Part 1).
Post-installation
Verify everything works
- Check agent status in Conductor console
- Deploy a test application with Dapr annotations
- View in Applications tab to see metrics and health
- Check Advisor for initial recommendations
Troubleshooting
Agent stays offline
Check agent network connectivity:
kubectl logs -n diagrid-cloud -l app=diagrid-agent
Common issues:
- Firewall blocking outbound access to these networking rules
- Proxy configuration needed
- Invalid cluster token (regenerate in console)
Dapr control plane unhealthy
Check Dapr pods:
kubectl get pods -n dapr-system
View Dapr logs:
kubectl logs -n dapr-system -l app.kubernetes.io/name=dapr
Common issues:
- Insufficient cluster resources
- Image pull errors (check registry access)
- Conflicting upgrade from existing Dapr installation
Metrics not appearing
Check metrics collector:
kubectl logs -n diagrid-cloud -l app=diagrid-agent-otel
Verify metrics server:
kubectl top nodes
If metrics server is missing, install it.
Uninstalling Conductor
To remove Conductor from your cluster, delete the cluster connection from the console or CLI. In the console:
- Use the action menu (three dots) to delete the cluster connection.
- Click "Delete cluster connection" and run the kubectl delete command provided to remove all resources in your cluster.
- Confirm deletion to remove the cluster connection from the backend.
Uninstalling Conductor does not affect your applications or Dapr installation. Applications continue running normally.