Skip to main content
KubeStacks ships views for the projects most clusters run. When a cluster serves one of these kinds, its list gets the columns people look at first, its objects get a status that understands the project, related objects are a click away, and the changes its own CLI offers become actions. Like every change in KubeStacks, a view’s actions check your permissions first (you need patch on the kind), show the equivalent kubectl patch command, and are refused in a read-only cluster. Actions marked undo can be taken back from their notification.

cert-manager

Argo CD and Rollouts

Flux

Gateway API

Karpenter

KEDA

External Secrets

Prometheus operator

CloudNativePG

Istio

Velero

Crossplane

cert-manager

cert-manager: certificates, their requests, and issuers. A certificate is Ready, Issuing, or critical with cert-manager’s reason. A certificate’s details add when it’s valid from, when it expires and renews, its lifetime and failed attempts. Expires reads like “in 30d”, and sorts by time.

Argo CD and Argo Rollouts

Argo CD applications, and Argo Rollouts. Applications take their status from Argo CD’s own health: Healthy, Progressing, Degraded, Missing or Suspended.
  • Sync starts a sync, like the Sync button in Argo CD. It’s offered when no operation is running.
  • Refresh asks Argo CD to compare the application with its source again.
  • Promote moves a paused rollout past its pause. Resume unpauses one that was paused by hand.
  • Restart replaces the rollout’s pods a few at a time, as its strategy says. It asks first.
  • Abort stops a rollout in progress and sends traffic back to the stable version. It’s destructive, so it asks first.
Rollouts have the scale subresource, so you can also Scale them like a Deployment.

Flux

Flux: what it applies, and where it fetches it from. Statuses follow Flux’s conditions: Suspended, Stalled, Reconciling or Ready. Every Flux kind has the same three actions, like the flux CLI’s:
  • Reconcile asks Flux to reconcile it now, like flux reconcile.
  • Suspend stops Flux reconciling it (undo).
  • Resume turns reconciliation back on, and asks for one right away (undo).
A Helm release that Flux manages links to its HelmRelease from Helm releases.

Gateway API

Gateway API: gateways and the routes attached to them. A gateway is Programmed once its controller has set it up. Routes are Accepted, or say why their gateway refused them, or why a backend can’t be resolved.

Karpenter

Karpenter: node pools, and the nodes it launched for them. A node pool’s details add its node class, CPU and memory limits, consolidation settings, and when its nodes expire.

KEDA

KEDA: event-driven autoscaling of workloads and jobs. A scaled object is Scaling or Idle, Paused, or critical with KEDA’s reason. Pause sets KEDA’s autoscaling.keda.sh/paused annotation, and Resume removes it.

External Secrets

External Secrets: secrets kept in sync with a vault or a cloud’s secret store. Sync now asks the operator to fetch the secret again right away.

Prometheus operator

The Prometheus operator’s kinds, as kube-prometheus-stack installs them. Prometheus and Alertmanager are Available, Degraded or Unavailable, as the operator reports them.

CloudNativePG

CloudNativePG: PostgreSQL clusters and their backups. Restart restarts the instances one at a time, replicas first and the primary last, with a switchover. It asks first.

Istio

Istio: traffic routing and security.

Velero

Velero: backups of cluster resources and volumes. Backups and restores are Completed, Partially failed, or critical with Velero’s phase.

Crossplane

Crossplane: the packages that extend it. A package is Healthy, Installing, or critical with the reason it isn’t installed or healthy.

CustomResourceDefinitions

Kubernetes’ own CRDs get a view too: their list shows each one’s Kind, Group, Scope and Versions, and their details add the plural, short names and stored versions.

Changing a built-in view

Your own view of a kind replaces KubeStacks’ for that kind. Copy the one you want to change from KubeStacks’ views into ~/.kubestacks/views, edit it, and press ⌘R (Ctrl+R on Windows and Linux). API resources then shows your file as the kind’s view.

Contributing a view

A view for a popular project is a welcome pull request. Add it to src/renderer/src/views, one file per project, with a comment linking to the project. Give its kinds the few columns people look at first, status rules when the conventions aren’t enough, and actions its own CLI offers (and that a patch can do). KubeStacks checks every view it ships when it starts, and the tests fail if one has a problem.

Write a view

A step-by-step guide to your first one.

View format

Every field a view can have.