Settings & help

Preferences

Open with ⌘, or from the menu bar.

Appearance

  • System - follow macOS Dark / Light Mode
  • Dark - always dark
  • Light - always light

The sidebar is always dark regardless of this setting - that’s intentional, designed against the brand palette.

Units

Controls how metrics render across charts, gauges, tooltips, and the Node Resources table.

CPU

Four formats of the same value - fractions of a CPU core:

  • % - relative to one core (50% = half a core; 1 core = 100%)
  • Decimal - the raw fraction, 0.5
  • Cores - the raw fraction with a unit, 0.5 cores
  • m - millicores, 500m (what K8s YAML uses; 1000m = one core)

Memory

  • MB - Megabytes (decimal · 1 MB = 1,000,000 B); matches the 1G = 1,000,000,000 bytes definition K8s uses for 100M specs
  • Mi - Mebibytes (binary · 1 Mi = 1,048,576 B - the K8s YAML convention); matches what top / free show
  • M - K8s shorthand (decimal SI · e.g. 512M)

Secrets

  • Require Touch ID to reveal - default on. When off, the Reveal button still hides values by default but a single tap reveals them with no auth prompt. Exports always require Touch ID regardless.

Notifications

The Notifications preferences pane controls desktop banners and includes:

  • Master toggle - disables everything when off
  • Per-category toggles (each with its own sound switch), grouped by Pods / Nodes / Workloads:
    • Pods - CrashLoopBackOff, Out of memory (OOMKilled), Stuck pending
    • Nodes - Node not ready, Node pressure (Memory / Disk / PID)
    • Workloads - Deployment rollout (real image/template rollouts), Deployment scaling (replica-count-only changes such as an HPA scale-up - off by default, since a scale isn’t a rollout), Job failed, HPA at maximum, Right-sizing complete, and Shared right-sizing result (Pro - a teammate records a result in a cluster you’ve enabled right-sizing persistence for; off by default)
  • Click a banner to open the resource - clicking a delivered notification brings Kubius to the front and opens that resource in the detail panel (not just its list). Right-sizing-complete banners open the analysis page; node / pod / deployment / job / HPA banners open their detail. If the resource is in another namespace, Kubius switches to it first.
  • Permission status row - shows whether macOS has granted notification permission, with a button to request it
  • Send Test Notification - fires a one-off banner so you can verify wiring before triggering a real event
  • Activity log - last 15 detector events (Detected rollout start: …, Detected scaling start: …, Fired: …, Suppressed: …). Selectable so you can copy-paste

Detector behaviour:

  • Initial cluster load never fires alerts - only state changes after the baseline.
  • Each condition fires at most once per cycle; it has to clear and re-occur before it’ll fire again.
  • Rollout vs scaling - a deployment that’s merely scaling (replica count changed, pod template unchanged - e.g. an HPA scale-up) is told apart from a real rollout by template churn (updatedReplicas < total pods). Scale events route to the separate Deployment scaling toggle so they don’t masquerade as rollouts.
  • Rollout success/failure use a 30 s settle window to avoid false failures from surge pods that briefly push readyReplicas above spec.replicas; success counts when ready ≥ desired (not strict equality).
  • System namespaces (e.g. kube-system, gke-*) never produce pod or deployment alerts. Node pressure always fires because nodes are cluster-scoped.

You can also disable Kubius’s notifications system-wide in System Settings → Notifications → Kubius.

Cluster aliases

Right-click any cluster row in the sidebar → Rename Cluster… to set a display name that’s friendlier than the raw kubeconfig context name (which is often a long auto-generated string like gke_project-name_zone_cluster-name).

Aliases are stored locally - they only affect what Kubius shows. The underlying context name is preserved.