OptaKube

OptaKube

A fast, native macOS Kubernetes client

macOSv0.8.0free && open-source33 downloads
OptaKube hero

A real Kubernetes GUI for your Mac — open a window per cluster, watch resources update live, stream logs, drop into a pod's shell, edit and apply manifests, manage Helm releases, and run everyday actions without memorising another kubectl flag. Free and open source.

Highlights

Everything you reach for, in one native window

🪟

A Window Per Cluster

Connect to several clusters at once, each in its own window with independent namespace, view, and state. JetBrains-style: a welcome hub, then a window per session.

Live Updates

Tables update in real time over the Kubernetes Watch API — every connected cluster at once. Bursts are coalesced so a 200-pod rollout stays smooth, not janky.

📊

Inline Metrics

CPU and memory usage bars right in the Pod and Node tables, per-container charts, and a cluster overview dashboard with node status and utilization gauges.

📜

Log Streaming

Aggregate logs across multiple pods, chronologically ordered with server-side timestamps. Search, filter, highlight, mark, and export — JSON and logfmt are colour-coded.

⌨️

Embedded Terminal & Exec

A real PTY in the footer — fish, zsh, bash — that inherits your kubeconfig and context. Right-click any pod to drop straight into its container shell.

🎯

One-Click Actions

Restart, scale, and roll back deployments; port-forward; attach debug containers; trigger, suspend, or resume CronJobs; cordon, drain, and evict — all from the context menu.

Manage, Not Just Browse

Operate clusters end to end, from a native window

📦

Helm Releases

Browse Helm v3 releases across your clusters; inspect values, rendered manifest, and full revision history; roll back to any revision or uninstall — all read straight from the release Secrets, no helm binary required.

✏️

Edit & Apply YAML

View any resource's live manifest, edit it in a YAML-aware editor — syntax highlighting, auto-indent, no smart-quote surprises — with a unified diff before you commit, or paste a brand-new manifest to create it via server-side apply. Works for built-in types and your CRDs alike.

🛡️

Access Review (can-i)

See exactly what your current credentials may do — a matrix of every resource type against get / list / watch / create / update / delete in the selected namespace.

☑️

Bulk Actions

Multi-select rows in any table to delete or restart many resources at once — with a confirmation step before anything destructive happens.

🔔

Cluster Events

A namespace- or cluster-wide event firehose, newest first, with a warnings-only toggle — fast triage when something's misbehaving, plus live per-resource events with a warning badge.

Saved Views & Label Filters

Filter any table by a real Kubernetes label selector (app=web,tier!=db), and pin namespace + type + filter combos to the sidebar to jump straight back.

Every Resource, Plus Your CRDs

30+ built-in types, and anything custom your cluster defines

Pods, Deployments, Services, Nodes, StatefulSets, DaemonSets, ReplicaSets, Jobs, CronJobs, ConfigMaps, Secrets, Ingresses, IngressClasses, PersistentVolumes, PVCs, NetworkPolicies, ServiceAccounts, HorizontalPodAutoscalers, Namespaces, Endpoints, Roles, RoleBindings, ClusterRoles, ClusterRoleBindings, StorageClasses, ResourceQuotas, PodDisruptionBudgets, LimitRanges, PriorityClasses, Leases, and admission webhook configurations — each with detail views, and YAML view / edit / diff / apply / delete. OptaKube also auto-discovers every Custom Resource Definition installed on the cluster and lets you edit those instances too, so your operators and platform CRDs are first-class.

⌘K

Spotlight search across every resource, namespace, type, and CRD

🔓

Reveal Secret & ConfigMap values inline, with one click

Side-by-side revision diff before you roll a Deployment back

Connects to Anything

Reads your existing kubeconfig — managed or self-hosted

🔑

Every Auth Method

Bearer tokens, client certificates (EC and RSA), and exec-based auth — AWS EKS, GCP GKE, and friends. Exec commands run through your login shell, so your full PATH and env are available.

🔒

Self-Signed Welcome

Pins your cluster's certificate authority exactly like kubectl, so self-hosted clusters with private CAs just work — with clear, specific errors when a handshake fails.

Get Started in Seconds

From kubeconfig to a live cluster in under a minute

⬇️

Step 1

Download the DMG and drag OptaKube into Applications

📂

Step 2

It reads the same kubeconfig kubectl already uses — nothing to configure

🖱️

Step 3

Pick one or more clusters from the welcome window and connect

Step 4

A live window opens per cluster — browse, stream, and operate right away

Who It's For

Anyone who runs workloads on Kubernetes

🧑‍💻

Platform & DevOps

Operate many clusters side by side — apply manifests, manage Helm releases, and keep production actions behind a confirmation.

🚨

SREs & On-Call

Live events, aggregated logs, inline metrics, and one-click restart / scale / rollback — fast triage when something's on fire at 3am.

🧰

Backend Developers

Drop into a pod's shell, stream logs, port-forward, and read Secrets & ConfigMaps inline — without memorising another kubectl flag.

Under the Hood

Native Swift, no web views, no Electron

OptaKube talks to the Kubernetes API directly over URLSession — no bundled kubectl proxy, no third-party HTTP stack. It starts instantly, sips memory, and feels like the Mac app it is.

UI   SwiftUI + @Observable
API   URLSession, no HTTP deps
TLS   Security.framework + openssl
Terminal   SwiftTerm PTY
Live   Watch API + reconnect
Updates   Sparkle, signed & notarized

Requirements

💻

macOS 14+

Sonoma or later

📄

A kubeconfig

The one kubectl already uses

🆓

Free & Open Source

MIT licensed

// screenshots