A window into your Kubernetes clusters. A fast, native desktop app for live resources, logs, shells and usage.
TypeScript
0
13 commits
updated Oct 7, 2026
A fast desktop client for Kubernetes. Browse every cluster in your kubeconfig, follow logs, open shells, see what each node and workload is using, and edit or delete resources. It never creates resources.
Built with Tauri 2 (Rust, the system web view) and React. It does not bundle a browser engine: the macOS app is about 10 MB, a 5 MB download.
kubectl edit: the save must keep its kind, name, namespace and resourceVersion, so it can
neither create an object nor overwrite a change made since you loaded it. Delete anything from its
right-click menu; namespaces, and anything on a cluster labelled to ask, need the name typed back.Download the latest build from Releases:
| Platform | File |
|---|---|
| macOS, Apple silicon | Porthole_<version>_aarch64.dmg |
| macOS, Intel | Porthole_<version>_x64.dmg |
| Windows | Porthole_<version>_x64_en-US.msi or Porthole_<version>_x64-setup.exe |
| Linux | .AppImage, .deb or .rpm |
Builds are not code-signed yet. On macOS, after copying the app to Applications, clear the download quarantine once:
xattr -dr com.apple.quarantine /Applications/Porthole.app
On Windows, SmartScreen asks for confirmation the first time.
Porthole reads the same kubeconfig as kubectl ($KUBECONFIG or ~/.kube/config). Exec credential
plugins such as aws eks get-token or kubelogin work as they do in your terminal: when the app
starts from Finder or the Dock, it borrows PATH and KUBECONFIG from your login shell.
Building from source, working on the code and cutting a release are covered in docs: Building from source, Development and Releasing.
Copyright 2026 Dmytro Matviichuk. Licensed under the Apache License, Version 2.0.
A window into your Kubernetes clusters. A fast, native desktop app for live resources, logs, shells and usage.
TypeScript
0
13 commits
updated Oct 7, 2026
A fast desktop client for Kubernetes. Browse every cluster in your kubeconfig, follow logs, open shells, see what each node and workload is using, and edit or delete resources. It never creates resources.
Built with Tauri 2 (Rust, the system web view) and React. It does not bundle a browser engine: the macOS app is about 10 MB, a 5 MB download.
kubectl edit: the save must keep its kind, name, namespace and resourceVersion, so it can
neither create an object nor overwrite a change made since you loaded it. Delete anything from its
right-click menu; namespaces, and anything on a cluster labelled to ask, need the name typed back.Download the latest build from Releases:
| Platform | File |
|---|---|
| macOS, Apple silicon | Porthole_<version>_aarch64.dmg |
| macOS, Intel | Porthole_<version>_x64.dmg |
| Windows | Porthole_<version>_x64_en-US.msi or Porthole_<version>_x64-setup.exe |
| Linux | .AppImage, .deb or .rpm |
Builds are not code-signed yet. On macOS, after copying the app to Applications, clear the download quarantine once:
xattr -dr com.apple.quarantine /Applications/Porthole.app
On Windows, SmartScreen asks for confirmation the first time.
Porthole reads the same kubeconfig as kubectl ($KUBECONFIG or ~/.kube/config). Exec credential
plugins such as aws eks get-token or kubelogin work as they do in your terminal: when the app
starts from Finder or the Dock, it borrows PATH and KUBECONFIG from your login shell.
Building from source, working on the code and cutting a release are covered in docs: Building from source, Development and Releasing.
Copyright 2026 Dmytro Matviichuk. Licensed under the Apache License, Version 2.0.