Skip to main content

Dashboard

The landing page after login. Org-scoped — what you see depends on the active organization.

Stat cards (multi-tenancy)​

Four count cards at the top. Each links to its respective page.

CardWhat it counts
Edge InstancesActive edges this org owns
RegistriesHelm registries this org has registered
Marketplace PackagesPackages this org has published
Active ReleasesHelm releases on this org's edges with status deployed

In single-tenancy installs, the four cards are hidden — the counts are all 0 or 1, not useful.

Recent deployments​

A table of the last ~10 helm operations across the org's edges:

ColumnMeaning
ReleaseRelease name + namespace
EdgeWhich cluster it ran on
Typeinstall / upgrade / uninstall
Statusdeployed / failed / running
WhoUser that triggered it
WhenTimestamp

Click a row to deep-link to that release's detail page.

Empty state: "No recent deployments". Goes away once anyone in the org installs anything.

Cluster overview (single-tenancy only)​

In single-tenancy installs, the dashboard renders an additional Cluster Overview block below the recent deployments:

  • Host stat row — host CPU% / Mem% / Disk% / Net In/Out
  • Kubernetes stat row — cluster CPU usage / CPU request commitment / Mem usage / Mem request commitment / active pod count
  • Charts (2×2 grid):
    • CPU Usage by pod (top 20, stacked area)
    • Memory Usage by pod (top 20, stacked area)
    • IOPS read/write
    • Throughput read/write

The block polls the local cluster's Prometheus every 60 seconds (top-right of the block has Pause / Refresh / Export controls that show the live countdown).

This block doesn't render in multi-tenancy because there's no canonical "the cluster" without an edge picker.

Banners​

The top of the dashboard can show banners for:

  • Grace mode — license is past expiry but still inside grace. Yellow.
  • Fleet capacity > 90% — the next install/edge create may fail with a quota error. Orange.
  • License invalid / missing — you don't see this on the dashboard, you're redirected to the License Required page.

Each banner links to the relevant admin page (Admin → License, mostly).

Where it lives​

  • Frontend page: dtedge-ui/src/app/(dashboard)/dashboard/page.tsx
  • Stats hook: dtedge-ui/src/lib/services/dashboard.ts
  • Cluster overview component: dtedge-ui/src/components/dashboard/ClusterOverviewSection.tsx
  • Backend endpoint (single-tenancy): GET /api/dashboard/cluster-overview?range=...

See also​