• Stars
    star
    181
  • Rank 212,110 (Top 5 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

General purpose dashboard for Dapr

Dapr Dashboard

codecov FOSSA Status

Dapr Dashboard is a web-based UI for Dapr, allowing users to see information, view logs and more for the Dapr applications, components, and configurations running on a supported Dapr Dashboard platform.

Supported Dapr Dashboard plaforms are:

  • Standalone - running locally via Dapr CLI
  • Kubernetes - running inside a Kubernetes cluster
  • Docker Compose - running inside a docker compose network

Features

Dapr Dashboard provides information about Dapr applications, components, configurations, and control plane services (Kubernetes only). Users can view metadata, manifests and deployment files, actors, logs, and more. For more information, check out the changelog.

Getting started

Prerequisites

If you intend to run in the Standalone or Kubernetes platform mode you will need to have the following:

Dapr Dashboard comes pre-packaged with the Dapr CLI. To learn more about the dashboard command, use the CLI command dapr dashboard -h.

If you intend to run in the Docker Compose platform mode, you don't need to install anything. Instead you specify Dapr docker images to use.

Installation

If you want to install via Helm, run:

helm repo add dapr https://dapr.github.io/helm-charts/
helm repo update
helm install dapr-dashboard dapr/dapr-dashboard

Kubernetes

Run dapr dashboard -k, or if you installed Dapr in a non-default namespace, dapr dashboard -k -n <your-namespace>.

Standalone

Run dapr dashboard, and navigate to http://localhost:8080.

Docker Compose

Construct a docker compose file that references the specific Dapr pieces that you want to use. The following example defines an application and its corresponding daprd sidecar, the Dapr Placement service, and the Dapr Dashboard.

When running inside docker compose, the dashboard needs access to the component and configuration files that are passed to the daprd services. It also needs to know about all daprd services running inside the docker compose network - it retrieves this by parsing the docker-compose.yml file. To achieve this, you define docker bind mounts to these files/directories and pass them as command args to the dashboard process. In addition, you must specify the command arg --docker-compose=true to tell the dashboard to use the docker compose platform type.

version: '3.8'
services:
      
  my-application-webhost:
    build:
      context: .
      dockerfile: src/My.Application.WebHost/Dockerfile   
    ports:
      - "5002:80"
    networks:
      - my-network

  my-application-webhost-dapr:
    image: "daprio/daprd:1.8.0"
    command: [ "./daprd",
               "-app-id", "MyApplication.DaprSidecar",
               "-app-port", "80",
               "-placement-host-address", "dapr-placement:50000",
               "-components-path", "/components",
               "-config", "/configuration/config.yaml" ]
    volumes:
      - "./dockercompose/dapr/components/:/components"
      - "./dockercompose/dapr/config/:/configuration"
    depends_on:
      - my-application-webhost
      - dapr-placement
    network_mode: "service:my-application-webhost" 
        
  dapr-placement:
    image: "daprio/dapr:1.8.0"
    command: [ "./placement", "-port", "50000" ]
    ports:
      - "50000:50000"
    networks:
      - my-network

  dapr-dashboard:
    image: "daprio/dashboard:latest"
    command: [ "--docker-compose=true", 
      "--components-path=/home/nonroot/components", 
      "--config-path=/home/nonroot/configuration", 
      "--docker-compose-path=/home/nonroot/docker-compose.yml" ]
    ports:
      - "8080:8080"
    volumes:
      - "./dockercompose/dapr/components/:/home/nonroot/components"
      - "./dockercompose/dapr/config/:/home/nonroot/configuration"
      - ./docker-compose.yml:/home/nonroot/docker-compose.yml
    networks:
      - my-network
      
networks:
  my-network:

The above example assumes the following file system layout

dockercompose
  dapr
    components
      (component yaml files e.g. pubsub.yaml, statestore.yaml etc.)
    config
      config.yaml
src
  My.Application.WebHost
    Dockerfile
docker-compose.yml

If you have configured your Dapr sidecars to require API token authentication, you can set the environment variable DAPR_API_TOKEN: {your token} on the Dapr Dashboard service declaration as follows

  dapr-dashboard:
    image: "daprio/dashboard:latest"
    environment:
      DAPR_API_TOKEN:  {your token}
    ...

For more information about running Dapr with docker compose see Run using Docker-Compose

Contributing

Anyone is free to open an issue, a feature request, or a pull request.

To get started in contributing, check out the development documentation.

More Repositories

1

dapr

Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
Go
23,824
star
2

dotnet-sdk

Dapr SDK for .NET
C#
1,107
star
3

quickstarts

Dapr quickstart code samples and tutorials showcasing core Dapr capabilities
Java
1,027
star
4

docs

Dapr user documentation, used to build docs.dapr.io
HTML
992
star
5

components-contrib

Community driven, reusable components for distributed apps
Go
543
star
6

go-sdk

Dapr SDK for go
Go
443
star
7

samples

Community driven repository for Dapr samples
JavaScript
412
star
8

cli

Command-line tools for Dapr.
Go
317
star
9

java-sdk

Dapr SDK for Java
Java
258
star
10

python-sdk

Dapr SDK for Python
Python
222
star
11

rust-sdk

Dapr SDK for Rust - Alpha
Rust
212
star
12

js-sdk

Dapr SDK for Javascript
JavaScript
197
star
13

community

Governance and community material for Dapr and its open source sub-projects
140
star
14

php-sdk

Dapr SDK for PHP
PHP
70
star
15

dapr-shared

Dapr Shared enables users to deploy Dapr as a DaemonSet or a Deployment instead of a sidecar
Go
48
star
16

installer-bundle

Dapr bundled installer containing CLI and runtime packaged together. This eliminated the need to download Docker images when initializing Dapr locally.
36
star
17

cpp-sdk

C++ SDK for Dapr
Makefile
36
star
18

helm-charts

Helm Charts for Dapr
20
star
19

mechanical-markdown

Python
20
star
20

kit

Shared utility code for Dapr runtime
Go
19
star
21

sig-api

Repository for Dapr API Special Interest Group
HTML
18
star
22

proposals

Proposals for new features in Dapr
15
star
23

test-infra

Test apps and tools for Dapr
C#
14
star
24

setup-dapr

GitHub Action for installing the Dapr CLI
JavaScript
10
star
25

docs-zh

Chinese translation of the Dapr documentation
9
star
26

kubernetes-operator

Go
6
star
27

blog

HTML
5
star
28

website

Website for the Dapr project
HTML
5
star
29

sig-sdk-spec

Repository for Dapr SDk Spec Special Interest Group
3
star
30

.github

1
star
31

homebrew-tap

Repository to enable Dapr cli installation via macOS' Homebrew.
Ruby
1
star