Skip to main content
An add-on gathers the kinds of one tool, like Flux, cert-manager or Karpenter, under one entry in the sidebar. Its page lists everything of those kinds together, the way Workloads does: one list, what’s failing first, and a tab for each kind. Lumovi ships add-ons for 32 tools, from Argo CD to Velero, and shows the ones your cluster runs. However many CRDs a cluster has, the tools on it are a click away. See Built-in views for every add-on and what it covers.
Flux's add-on page: tabs for All, Kustomizations, HelmReleases and GitRepositories, and one list of five objects with their type, status and message, a Kustomization that failed to build first.Flux's add-on page: tabs for All, Kustomizations, HelmReleases and GitRepositories, and one list of five objects with their type, status and message, a Kustomization that failed to build first.

Flux's add-on: everything Flux runs in one list, what's failing first, and a tab for each of its kinds.

In the sidebar

An add-on shows up once the cluster serves one of its tool’s kinds. Lumovi looks at what the cluster serves again every minute, so a tool you just installed appears on its own, and one you removed goes away.
  • Under Add-ons. Most add-ons sit in a section of their own, by name, between Pinned and Custom resources.
  • With Kubernetes’ own kinds. Add-ons that extend what Kubernetes does sit at the end of that section: Cilium, Gateway API, Linkerd and Traefik under Network, Sealed Secrets under Configuration, and Longhorn, Rook Ceph and Volume Snapshots under Storage.
An add-on’s entry stays highlighted on its page and on its kinds’ lists. Its kinds are left out of the kinds you opened lately, under Custom resources, since they’re a click away already. To keep one of them at hand anyway, pin it. The command palette (⌘K) finds add-ons too, marked Add-on: by their name, or by the name of any of their kinds, so typing certificates offers cert-manager. (⌘ is Ctrl on Windows and Linux.)

The add-on’s page

Tabs

All comes first, then a tab for each of the tool’s kinds that the cluster serves, in the add-on’s order, with how many objects it has. A kind’s tab is its usual list, with its view’s columns and actions, and the add-on’s tabs stay above it. When there are more tabs than fit, they scroll sideways. Counts and lists follow the namespace you picked. Kinds without namespaces are always the whole cluster’s, and when all of a tool’s kinds are, like Karpenter’s, the namespace picker says Cluster-wide.

Everything in one list

All lists every object of the tool’s kinds: The list sorts by status, so what’s failing comes first: Failing, then Warning, In progress, Healthy and Inactive. Click any column to sort by it instead.
  • Health. The chips above the list (Failing, Warning, In progress, Healthy, Inactive) show only objects in that state, with how many there are. Pick several to combine them.
  • Filter. Press / and type. Filter Flux (named after the tool) matches names, namespaces, kinds, labels written as key=value, and what the status says.
  • Label selector. Type a selector like app=web and press ↵. The cluster filters every kind’s list with it.
Click a row to open its details, with what its kind’s view adds: details, links, tabs for related objects, and actions. To act on several objects at once, pick rows with X or Shift-click, and choose from the bar that appears. See Several at once.

When something’s missing

  • Nothing yet. With no objects, the page says Nothing from Flux in shop (or in this cluster), and which kinds would show up here.
  • A kind it couldn’t list. When you can’t list one of the kinds, a line above the list says Couldn’t list, which kind, and why. The other kinds still show.
  • A long list. Lists that are too long to load whole are cut short, and the page says some objects may be missing. Choose a namespace, or use Filter by label.
  • A tool the cluster doesn’t have. An add-on’s page opened from a link, in a cluster without the tool, says This cluster doesn’t have it: none of its kinds are served there.

Karpenter

Karpenter’s add-on opens on an overview of its own instead of a list: its node pools against their limits, the nodes they launched and the ones launching, the mix of instance types, capacity types and zones, what’s being disrupted, and the pods waiting for a node. Its first tab is Overview, and its kinds’ tabs (NodePools, NodeClaims, and the node classes) follow.
Karpenter's overview: tiles for node pools ready, nodes ready, launching and being replaced; three node pools with their CPU and memory against their limits; nodes grouped by node pool with their usage and one still launching; and the mix of instance types, capacity types and zones.Karpenter's overview: tiles for node pools ready, nodes ready, launching and being replaced; three node pools with their CPU and memory against their limits; nodes grouped by node pool with their usage and one still launching; and the mix of instance types, capacity types and zones.

Karpenter's node pools against their limits, the nodes they launched, and what's being replaced or waiting for a node.

The overview counts only the nodes Karpenter launched: the ones labeled karpenter.sh/nodepool.

The four numbers

Each tile opens the list behind it. Node pools ready and Nodes ready open filtered to what isn’t ready when something isn’t, and Nodes ready opens Nodes with the label selector karpenter.sh/nodepool. Launching opens the node claims, filtered to the ones in progress while some are launching.

Node pools

Each node pool, by name, with its status, how many nodes it has, and how much of its CPU and memory limits its nodes take, like 24 of 64 cores. A node pool without a limit says no limit, with a dashed track. Under its name, a node pool says what it launches: its capacity types and instance families, like Spot, on-demand · m6i, c6i. These come from its requirements on karpenter.sh/capacity-type (on-demand when it has none), and on karpenter.k8s.aws/instance-family, karpenter.k8s.aws/instance-category, karpenter.azure.com/sku-family or node.kubernetes.io/instance-type, the first it has. A node pool that isn’t ready shows why instead.

Nodes

Karpenter’s nodes, grouped by node pool, each with its instance type, capacity type and zone. With metrics-server, each has meters for its CPU and memory use; without it, its status and how many cores it has. Node claims still on their way are listed with their node pool, as Launching, with how long ago they started.

Node mix

How many nodes there are of each instance type, capacity type and zone, the most common first.

Disruption

The node claims Karpenter is replacing, or could do without, with how long they’ve been that way: When there are none, it says Nothing is being disrupted.

Waiting for a node

The pods the scheduler couldn’t place anywhere, which Karpenter launches nodes for, with the scheduler’s message. When there are none: No pods are waiting for a node. Nodes (for each node pool), Disruption and Waiting for a node show six rows, with Show all for the rest. Click anything to open it. The overview reads node pools, node claims and nodes, and pods in every namespace, so it needs list on all four. A card whose list you can’t read says why, and the others still show.

Your own add-ons

An add-on is a short YAML document of kind AddOn, kept with your views, in ~/.lumovi/views:
platform.yaml
Press ⌘R, and Platform appears under Add-ons, with a tab for each kind.
  • kinds are the tabs, in order. kind: '*' with a group is every kind of that group, each with a tab.
  • icon is one of the view icons.
  • category puts it at the end of one of Kubernetes’ sections instead: cluster, network, config or storage.
  • Kinds Lumovi has a page of its own for, like Pods, Deployments or Secrets, can’t be in an add-on.
An add-on only groups kinds. How each kind looks, its columns, status and actions, comes from its view.

Replacing one of Lumovi’s

Give yours the same metadata.name as Lumovi’s, like flux or cert-manager (Built-in views gives each one’s name). Yours replaces it whole: its label, icon, place and kinds. The kinds’ views stay as they are.
If something’s wrong with an add-on, API resources says so at the top, as it does for views. Every field is in the view format.
In your cluster: add-ons everyone sees go in the chart’s views value, with the views. People can’t add their own from a browser. See Views for everyone.

Built-in views

Every add-on Lumovi ships, and what its views add.

View format

Every field an add-on can have.