---
title: "VergeOS Cloud Dashboard: One Portal for a Medical Imaging Company's Private Cloud | T10"
url: "https://t10.net/projects/vergeos-cloud-dashboard/"
description: "Bit Refinery runs a private cloud on VergeOS in its Denver data center. One of its customers, a medical imaging company we can't name, runs about 70 virtual…"
lastmod: "2026-10-29"
---

# VergeOS Cloud Dashboard: One Portal for a Medical Imaging Company's Private Cloud

Bit Refinery runs a private cloud on VergeOS in its Denver data center. One of its customers, a medical imaging company we can't name, runs about 70 virtual machines there. We built the portal the customer and Bit Refinery's team share: one place to see the health of the platform, manage the customer's VMs, pull usage reports and message each other. It replaced two older internal tools Bit Refinery had been using to monitor the cluster and report on it.

![The overview page: storage tiers, the customer's environment and quota, the eight physical nodes, critical alerts and the busiest VMs](https://t10.net/media/projects/vergeos-cloud-dashboard/overview.webp)

_The screenshots on this page come from the live portal, with the customer's name replaced by "Beacon" and the names of people, VMs, addresses and outside networks replaced with invented ones. The chat conversation is made up. Capacity, CPU and network figures are real._

## The problem

The customer's VMs share an eight-node VergeOS cluster with six other Bit Refinery customers. Bit Refinery wanted to give the customer its own view of its machines, storage and usage, and a way to run its own reports, with no chance of showing another customer's names, machines, logs or usage.

## What we built

The portal polls the VergeOS cluster every minute and the customer's environment every five minutes, keeps the history in its own database, and raises alerts when something crosses a threshold.

-   **Overview:** one page that shows whether everything is all right. A banner turns red when there are critical alerts. Below it are the four vSAN storage tiers (the customer's share, other customers as one combined figure, system use and free space, with a forecast of when each tier fills), the customer's storage quota, CPU, RAM and temperature for all eight nodes, drive health and the busiest VMs.
-   **Wall view:** a full-screen version of the overview for a TV in an operations room. It fits itself to the screen, hides the pointer and controls, and adds network latency.
-   **Alerts:** alerts open and close on their own as conditions change, each with a severity, a category and a timeline. People can acknowledge or snooze them, and Bit Refinery's staff get alert emails, reminders and a daily summary.
-   **Nodes, storage and drives:** every physical server with its hardware, IPMI and memory health and the cluster's failover headroom; storage tier capacity, dedupe and the customer's quota per tier; every physical drive with SMART status, temperature, wear and 90 days of history.
-   **Logs:** warnings and errors from the cluster and from the customer's environment, searchable and kept for 90 days.
-   **Virtual machines:** every VM with its power state, vCPU, RAM, storage, live CPU and IP address, plus billable totals. Each VM has its own page with performance charts and an activity history. People with the right permission can start, shut down or restart a VM, open its console in the browser and change the CD in its virtual drive. Every action is checked against the VM's live state first and written to the audit log.
-   **vCPU sizing:** once a day the portal looks at each VM's CPU use over recent weeks and says whether it has too many or too few vCPUs. A recommendation has to hold for several days before it changes. On the day these screenshots were taken, 58 vCPUs could be reclaimed from 9 oversized VMs, and 3 VMs needed more. RAM isn't assessed, because the hypervisor's RAM figure includes memory the guest uses as cache.
-   **Messages:** a small Slack-style chat between the customer and Bit Refinery, with channels, direct messages, threads, mentions, reactions, file attachments and search. Bit Refinery staff are marked with a badge, and nobody, admins included, can read a direct conversation they aren't part of.
-   **Reports:** VM inventory at any date, usage over a period, a comparison between two dates, utilization per VM and vCPU sizing, downloaded as Excel (with native charts), PDF or CSV. Reports can be scheduled daily, weekly or monthly in Denver time and emailed to a list, or sent only when the totals change.
-   **Network:** probes in AWS US East and DigitalOcean San Francisco ping the customer's gateway in Denver every five minutes. The page shows round-trip time, jitter and packet loss over an hour, a day or 30 days, with bands for the spread of each round. Bit Refinery staff also see traffic through the customer's firewalls, which firewall is active and when a failover happened, and where the traffic goes.
-   **AskVerge:** an AI assistant for Bit Refinery staff that answers questions about the customer's environment. It reads the same filtered data as the rest of the portal (alerts, logs, VMs, storage, sizing and history) plus the VergeOS documentation and the portal's own help articles, and it can draw charts. A conversation can be exported as HTML, PDF or Markdown, for example to send to VergeOS support.
-   **Administration:** users, roles and permissions, alert thresholds, chat channels, an audit log kept for two years, and the status of each data source. Planned maintenance is announced on every page and by email ahead of time. Alerts raised during the work stay out of the critical banner, and the emails are held and sent as one catch-up when it ends.

Every page works on a phone down to 360 pixels wide, with tables turned into stacked cards.

![The VM list with billable totals and sizing badges](https://t10.net/media/projects/vergeos-cloud-dashboard/vms.webp)

![Traffic through the customer's firewalls over 24 hours: flow diagrams from each address through the firewall port to outside networks, the firewall ports, and the top destinations and sources](https://t10.net/media/projects/vergeos-cloud-dashboard/traffic.webp)

## Who sees what

There are four roles. Read-only users at the customer see the monitoring pages, VMs, reports and network page, and can post in Messages. Users with modify access can also run and schedule reports, tag VMs and change CDs. The customer's admins can add and manage their own users, read the audit log and moderate the chat. Bit Refinery admins can do everything else, including thresholds, maintenance notices and AskVerge. Powering a VM off and opening its console are granted to people one at a time, so being an admin doesn't come with them.

## Keeping other customers out

The filtering happens on the server, as the data is collected. Only the customer's own tenant is kept. Other customers appear only as one anonymous gray "Other tenants" figure per storage tier, and log lines are screened against the other tenants' names and addresses. No other customer's name, VMs, logs or usage reaches any page, export, email or AskVerge answer, and automated tests check it.

Sign-in has no passwords. A person enters their work email and gets a one-time code, and only people an admin has invited, from approved email domains, can sign in. The customer's users also set up two-factor sign-in. The portal adds per-address lockouts, rate limits, CSRF protection and a strict content security policy.

## More screens

![The full-screen wall view for an operations room TV](https://t10.net/media/projects/vergeos-cloud-dashboard/wall.webp)

![Alerts with filters by status, severity and category](https://t10.net/media/projects/vergeos-cloud-dashboard/alerts.webp)

![A VM's performance tab: CPU and RAM, disk and network over 24 hours](https://t10.net/media/projects/vergeos-cloud-dashboard/vm-performance.webp)

![A finished VM utilization report, with average and peak CPU per VM](https://t10.net/media/projects/vergeos-cloud-dashboard/utilization-report.webp)

![Network latency to the customer's gateway from a probe in AWS US East](https://t10.net/media/projects/vergeos-cloud-dashboard/latency.webp)

![Messages between the customer and Bit Refinery, with a thread open](https://t10.net/media/projects/vergeos-cloud-dashboard/messages.webp)

![AskVerge, the AI assistant for Bit Refinery staff, with suggested questions](https://t10.net/media/projects/vergeos-cloud-dashboard/askverge.webp)

**Tech:** Node.js, Express, React, PostgreSQL, nginx, VergeOS API, SmokePing, Akvorado flow data, Resend, OpenRouter.

Have a workflow like this one?

[Book a free AI planning call](https://t10.net/#book)
