A macOS and Linux desktop app for teams running services on Kubernetes. Combines pull requests, CI pipelines, and deployments into one view so you can see what's happening across your stack without switching between GitHub, Azure DevOps, and kubectl.
Pull Requests
- Lists open PRs across all repos tagged with your team's GitHub topic
- Tabs for Open, Merged today, Merged yesterday, and Dependabot
- Filter by status: Approved, Changes requested, Draft, Checks passing/failing, Opened today, Human/Dependabot
- Age badges on PRs older than 24h (yellow → orange → red)
- Links to matching Azure DevOps pipeline runs directly from the PR card
- Watched repos: show PRs from shared repos (e.g. infra/IaC) filtered by a namespace label
Pipelines
- Today's Azure DevOps pipeline runs at a glance
- Linked GitHub PR info per pipeline run
- Failed step name extracted from the build timeline
- Build log errors (
[ERROR]lines) fetched and shown inline, collapsible - Copy button to share error context including PR reference
Deployments
- Live Kubernetes deployment status via
kubectl - Healthy / Failing / Progressing filter
- Links to GitHub PR for the deployed commit
- Trello card links extracted from PR comments
- Datadog logs link per deployment (configurable site URL)
- Environment shortcuts (Prod / QA / Test) for quick context switching
- macOS (Apple Silicon) or Linux (x86_64)
kubectl— configured with your cluster contextsgh— GitHub CLI, authenticated (gh auth login)az— Azure CLI, authenticated (az login) with the Azure DevOps extension installed (az extension add --name azure-devops)
All three must be available on your PATH.
macOS (Homebrew):
brew install kubectl gh azure-cli
az extension add --name azure-devops
gh auth login
az loginFedora / RHEL:
sudo dnf install kubernetes-client gh azure-cli
az extension add --name azure-devops
gh auth login
az loginDebian / Ubuntu:
sudo apt install kubectl gh
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az extension add --name azure-devops
gh auth login
az loginThe Linux build also needs FUSE to run the AppImage: sudo dnf install fuse (Fedora/RHEL) or sudo apt install libfuse2 (Debian/Ubuntu). If it's missing, either install it or launch with --appimage-extract-and-run.
macOS: download the latest .dmg from Releases, open it, and drag the app to /Applications.
Linux (x86_64):
curl -fsSL https://raw.githubusercontent.com/esschul/kubernetes-dashboard/main/scripts/install-linux.sh | shThis installs to ~/.local/share/kubernetes-dashboard, adds a kubernetes-dashboard launcher to ~/.local/bin, and registers a desktop entry — no sudo required. To uninstall: sh install-linux.sh --uninstall (download it first if you piped it in originally).
If you'd rather review the script before running it:
curl -fsSLO https://raw.githubusercontent.com/esschul/kubernetes-dashboard/main/scripts/install-linux.sh
less install-linux.sh
sh install-linux.shOpen the app and go to Settings:
| Field | Description |
|---|---|
| kubectl context | Which cluster context to use (defaults to current) |
| Namespace | Your team's Kubernetes namespace |
| GitHub Org | GitHub organisation name |
| Repo topic | GitHub topic tag used to find your team's repos (defaults to namespace name) |
| Watched repos | Shared repos to include — only PRs labelled with your namespace are shown |
| Azure DevOps Org URL | e.g. https://dev.azure.com/my-org |
| Azure DevOps Project | Project name |
| Datadog Site URL | e.g. https://app.datadoghq.eu |
| Environment shortcuts | Map Prod/QA/Test to specific kubectl contexts |
npm install
npm startTo build a distributable DMG (macOS) or AppImage (Linux):
npm run build:mac # macOS
npm run build:linux # LinuxTo build and publish a GitHub release, see docs/RELEASING.md — releases are built on both platforms and macOS goes first.
- App won't find
kubectl/gh/az: setKUBECTL_PATH,GH_PATH, orAZ_PATHto the tool's full path. - Linux: "libfuse.so.2" error on launch: install FUSE (see Requirements above) or run the AppImage with
--appimage-extract-and-run. - Linux: sandbox error on some Debian-based systems: if the app refuses to start with a sandbox-related error, try launching with
--no-sandbox.
- Electron
kubectl(viaexecFile) for Kubernetes dataghCLI for GitHub PRs and check runsazCLI for Azure DevOps pipelines and build logs