Pusula

Your Kubernetes clusters, in a real Mac app.

Pusula is a native macOS client for the day-to-day work of keeping a cluster healthy: workloads, logs, shells, metrics and alerts in one fast window, with history kept on your Mac.

Download for macOS macOS 15 or later · Apple silicon and Intel

Workloads and pods at a glance

Deployments, StatefulSets, DaemonSets and their pods in sortable tables, kept live by watches instead of polling. Rollout restart, scale, delete a pod or read its describe output without leaving the window.

Logs you can actually search

Follow every pod of a workload in one merged stream, then search it with plain text or regex. Turn on recording for the workloads you care about and search their logs days later, even after the pods are gone.

As many shells as you need

Open a shell in any container with one click. Terminals live in tabs and splits, and they stay connected while you switch to logs or metrics and back.

Weeks of CPU and memory

Pusula samples metrics-server every 30 seconds while it's open and keeps the history for 45 days by default. See how a deployment behaved last Tuesday, not just right now.

Alerts before anyone asks

Crash loops, repeated restarts, pods stuck in Pending and failed jobs show up as macOS notifications with Open logs and Snooze buttons, and as a badge on the Dock icon.

Nodes up close

Check node conditions, taints, CPU and memory against what's allocatable, and the pods scheduled on each one. Cordon a node when it needs a break.

CronJobs on demand

Run any CronJob right now instead of waiting for its schedule, and see every past run with its status, whether it was started by hand or on time.

Ask Claude about your cluster

A built-in, read-only MCP server lets Claude Code and Claude Desktop read the contexts you allow, including the logs, metrics and alerts Pusula has recorded, so you can debug by asking.

How it works

  1. 1

    Pick a context

    Pusula reads your kubeconfig, including EKS, GKE and AKS exec plugins, using the PATH from your login shell.

  2. 2

    Choose a namespace

    Workloads and pods fill in live. Switch namespaces or look across all of them from the toolbar.

  3. 3

    Find the problem

    Jump from a crashing pod to its logs, a shell, its metrics or the node it runs on, all in the same window.

Let Claude read your cluster, and only read it.

Pusula includes an MCP server, so AI clients like Claude Code and Claude Desktop can look at pods, events, logs, metrics and the history Pusula has recorded. It's off by default and you tick each context it may see. The tools only read: nothing can scale, restart, exec or port forward. Secret objects are never read and environment variable values are redacted. ConfigMaps, logs and events are returned as they are.

claude mcp add pusula /Applications/Pusula.app/Contents/MacOS/pusula-mcp

Your cluster data stays on your Mac.

Pusula has no accounts, no analytics and no server of its own. It talks to your clusters and, once a day, to GitHub to check for a new version, which you can turn off. Tokens stay in memory, and metrics, events and recorded logs live in a local database that's purged after the number of days you choose.

Get Pusula.

macOS 15 or later · Apple silicon and Intel · One-click updates

Download for macOS