# Architecture

Dapr Ops Dashboard requires three Kubernetes resources to be installed on your cluster to power the console, Diagrid CLI, and Kubernetes operator:

- **Dapr Ops Dashboard agent Deployment** - Manages Dapr configuration and collects metrics
- **OTEL Logs Collector DaemonSet** - Collects Dapr sidecar logs
- **OTEL Metrics Collector StatefulSet** - Collects and forwards metrics

These components are automatically installed into their own namespace and communicate outbound only to Diagrid Cloud.

For the step-by-step communication flow, see below. For a list of prerequisites, read [Cluster prerequisites](../getting-started/prerequisites.mdx).

![Dapr Ops Dashboard Architecture](https://docs.diagrid.io/img/conductor/conductor-architecture.png)

## Communication Flow

1. User visits Dapr Ops Dashboard via internet browser or uses the Diagrid CLI

2. User is authenticated via username/password or through Single-Sign-On identity provider

3. The Dapr Ops Dashboard console is populated with data from Diagrid Cloud. Desired Kubernetes cluster configuration is sent to Diagrid Cloud

4. Diagrid agent deployed on users' Kubernetes cluster reconciles desired Dapr configuration and sends specified data outbound, such as metrics, cluster configuration, and health data. Connection is encrypted using TLS

5. Diagrid agent manages the Dapr control plane on users' Kubernetes cluster and collects metrics

6. Dapr control plane injects Dapr sidecars into users' configured Kubernetes application pods

7. Diagrid logs collector collects Dapr sidecar logs
