KubeBolt docs
GitHub

Home and Fleet

The global screens — Home's shift report and Fleet's roll-up — plus cross-cluster search and where the Add cluster wizard actually lives.

KubeBolt has two altitudes. Home, Fleet and Security sit above any single cluster and answer “what is going on across everything I own”; they read stored state and keep working when a cluster is down. The dashboard and the resource views sit inside one cluster. The sidebar changes with the altitude: global pages show Home · Fleet · Security · Administration, cluster pages show the cluster’s own menu. This page covers Home and Fleet; Security has its own page.

After sign-in you land on Home.

Where the Add cluster wizard is

Fleet → Connect cluster, or Clusters → Add cluster. Same button, same two paths, same modals — literally the same component. Home’s Connect cluster in the greeting header takes you to Fleet.

The button is a dropdown with two options, and the choice is not a matter of taste — it is whether this backend can reach your API server:

The button only renders for users who may manage clusters. The wizard’s output is covered in Connecting clusters.

Home — the shift report

Home opens with a greeting, the cluster count, and how many need attention. Below it sits “while you were away”: what actually happened since Home last rendered for you, not what is standing right now.

Home: what happened while you were away and what needs you today, across every cluster.
Home: what happened while you were away and what needs you today, across every cluster. KubeBolt 2.1.1

The report clusters events into operational bursts deterministically — the same window in always produces the same bursts out — and names the shape it found: a node rotation, node pressure, a mass rollout, or an honest “unknown burst”. It reads as a sentence, with the times, the clusters involved, the blast radius, and whether everything recovered.

Because it reports events and not state, it goes quiet when nothing happened. A shift where nothing broke says so. Dismissing it collapses the section to a ⟳ while you were away chip in the greeting’s chip row, which reopens it.

The rest of Home is a KPI strip — clusters, pods, monthly spend, critical findings — then an attention list (unreachable clusters, clusters with no agent or a silent one, critical findings), a per-cluster breakdown when more than one cluster reports, a Kobi panel with your recent conversations and an ask box, and Cost and Security panels. Only the cards that carry a state tint themselves, and only when that state is bad; inventory numbers stay neutral on purpose.

Fleet — the roll-up

/fleet is every cluster KubeBolt knows about on one screen — health, findings, nodes, pods and spend, without connecting to any of them — in a grid or table view (your choice is remembered), sorted worst first. The header counts them and says how many are reporting metrics, how many are connected, and how many need attention. Clicking a cluster switches to it.

Fleet: each cluster's health, findings, nodes, pods and spend, side by side.
Fleet: each cluster's health, findings, nodes, pods and spend, side by side. KubeBolt 2.1.1

The strip above the list rolls up the whole fleet:

CardWhat it sums
Fleet spendMonthly run-rate across every cluster, from OpenCost. Clusters without cost data contribute nothing
ClustersTotal, with how many need attention
Nodes · PodsAcross the fleet
Live agentsAgent channels currently open

Fleet spend is a sum over the org, not the active cluster — a cluster that never got cost data wired shows as zero rather than distorting the total.

⌘K (Ctrl+K) opens the search palette anywhere. It has a scope toggle:

The default follows the altitude of the page you are on. Inside a cluster, ⌘K opens scoped to that cluster. On a global screen — Home, Fleet — it opens already fanned out, because there is no “this cluster” there to mean anything. Fleet deliberately has no second in-page search box; this is the one.

Results are grouped by kind, and fleet-scope hits are labelled with the cluster they live in. The footer reports how many clusters were searched.

The same thing over the API:

curl -H "Authorization: Bearer $TOKEN" \
  "https://your-kubebolt/api/v1/search?scope=fleet&q=checkout"
{
  "results": [
    { "name": "checkout-api", "namespace": "prod", "kind": "Deployment",
      "resourceType": "deployments", "status": "Running", "cluster": "prod-eu" }
  ],
  "clustersSearched": 3
}

Without scope=fleet the same endpoint searches the request’s cluster and the cluster field is absent, so the shape stays backward-compatible.

What the fan-out does and does not do: