-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Labels
Description
DAPR dashboard server handles errors gracefully
With an invalid API call do the DAPR dashboard API, the API serving process logs an error messsage, returns a 4XX or 5XX error reflecting the cause of the failure, and keeps its ability to serve requests.
DAPR dashboard server crashes
With a fresh DAPR install on a kubernetes cluster, and no dapr applications deployed, an attempt to access the dapr-dashboard via kubectl port-forwarding was made. When connecting to the local port with a web browser, the dapr-dashboard process crashes. Full error message below
Dapr Dashboard running on http://localhost:8080
panic: runtime error: index out of range [0] with length 0
goroutine 45 [running]:
github.com/dapr/dashboard/pkg/instances.(*instances).GetControlPlaneStatus.func1({0x2006bda,0x15})
/home/runner/work/dashboard/dashboard/pkg/instances/instances.go:464+0x7a6
created by github.com/dapr/dashboard/pkg/instances.(*instances).GetControlPlaneStatus in goroutine 49
/home/runner/work/dashboard/dashboard/pkg/instances/instances.go:446 +0xbaSteps to Reproduce the Problem
initialize dapr on a kubernetes cluster, with dapr dashboard 0.15.0
user@host:~/some/path$ dapr init -kconnect to the dapr-dashboard via kubectl proxy
user@host:~/some/path$ kubectl port-forward 'dapr-dashboard-<ID>' 8888:8080 --namespace 'dapr-system'open a web browser and point it to http://localhost:8888
Release Note
RELEASE NOTE: FIX handle errors in control panel status when a dapr pod is not yet ready