Kubeli

Kubeli

A modern, native Kubernetes management desktop app for macOS & Windows. Multi-cluster support, real-time monitoring, AI assistant, terminal access, and more.

Stars: 229

Visit
 screenshot

Kubeli is a modern, beautiful Kubernetes management desktop application with real-time monitoring, terminal access, and a polished user experience. It offers features like multi-cluster support, real-time updates, resource browser, pod logs streaming, terminal access, port forwarding, metrics dashboard, YAML editor, AI assistant, MCP server, Helm releases management, proxy support, internationalization, and dark/light mode. The tech stack includes Vite, React 19, TypeScript, Tailwind CSS 4 for frontend, Tauri 2.0 (Rust) for desktop, kube-rs with k8s-openapi v1.32 for K8s client, Zustand for state management, Radix UI and Lucide Icons for UI components, Monaco Editor for editing, XTerm.js for terminal, and uPlot for charts.

README:

Kubeli - The K8S viewer you deserve

CI Release License SBOM Platform Downloads Ask DeepWiki

Kubeli

A modern, beautiful Kubernetes management desktop application with real-time monitoring, terminal access, and a polished user experience.

Download for macOS    Download for Windows

macOS Notarized Apple Silicon x64

Features

  • Multi-Cluster Support - Connect to multiple clusters, auto-detect provider type (Minikube, EKS, GKE, AKS)
  • Real-Time Updates - WebSocket-based pod watching with efficient Kubernetes watch API
  • Resource Browser - View and manage Pods, Deployments, Services, ConfigMaps, Secrets, Nodes, and more
  • Pod Logs - Stream logs in real-time with filtering, search, and export
  • Terminal Access - Interactive shell access to running containers via XTerm.js
  • Port Forwarding - Forward ports from pods/services to localhost with status tracking
  • Metrics Dashboard - CPU and memory usage visualization (requires metrics-server)
  • YAML Editor - Full Monaco editor integration for viewing and editing resources
  • AI Assistant - Integrated AI support with Claude Code CLI and OpenAI Codex CLI
  • MCP Server - Model Context Protocol server for IDE integration (VS Code, Cursor, Claude Code)
  • Helm Releases - View and manage Helm deployments
  • Proxy Support - HTTP/HTTPS/SOCKS5 proxy configuration for corporate environments
  • Internationalization - English and German language support
  • Dark/Light Mode - Theme support with vibrancy effects

Tech Stack

Layer Technology
Frontend Vite, React 19, TypeScript, Tailwind CSS 4
Desktop Tauri 2.0 (Rust)
K8s Client kube-rs with k8s-openapi v1.32
State Zustand
UI Components Radix UI, Lucide Icons
Editor Monaco Editor
Terminal XTerm.js
Charts uPlot

Installation

Build from Source

Prerequisites:

  • Node.js 18+
  • Rust 1.70+
  • pnpm (recommended) or npm
# Clone the repository
git clone https://github.com/atilladeniz/kubeli.git
cd kubeli

# Install dependencies
make install

# Run in development mode
make dev

# Build for production (macOS)
make build

# Build for Windows (cross-compile from macOS)
make install-windows-build-deps  # One-time setup
make build-windows

# Build both platforms
make build-all

Development

# Start Tauri + Vite dev environment
make dev

# Start Vite only (no Tauri)
make web-dev

# Run linting
make lint

# Format code
make format

# Type check
make check

Debug Bundle vs Dev Mode

  • make dev runs the live Tauri dev server with hot reload (uses the dev URL).
  • make screenshot-build creates a bundled debug app (Kubeli.app) used for deep-link screenshot automation. This is not the same as dev mode.

For automated screenshots (deep links are debug-only):

# Build bundled debug app for screenshots
make screenshot-build

# Capture all screenshots
make screenshots

You can override the target context:

SCREENSHOT_CONTEXT="minikube (dev)" make screenshots

Testing

# Frontend unit tests
npm run test

# Backend unit tests
cd src-tauri && cargo test

# E2E smoke tests (static export + mocked IPC)
npm run test:e2e

npm run test:e2e loads environment defaults from config/e2e.env and injects a mocked Google Fonts response from config/font-mocks.cjs.

Local Testing Lab

For testing Kubeli with simulated environments (OpenShift, EKS/GKE/AKS contexts, auth errors, scale testing), see the Local Testing Lab documentation. This allows you to test environment detection and error handling without cloud provider access.

# Quick examples
make minikube-setup-openshift    # OpenShift CRDs + Routes
make kubeconfig-fake-eks         # Fake EKS context
make minikube-setup-scale N=100  # Create 100 dummy pods

SBOM (Software Bill of Materials)

Kubeli provides CycloneDX SBOMs for supply chain security and compliance.

What's Included

SBOM File Contents Format
sbom-npm.json Production npm dependencies CycloneDX 1.5 JSON
sbom-rust.json Production Rust crates CycloneDX 1.5 JSON

Automatic Generation

Every GitHub Release includes validated SBOMs as downloadable assets. The CI pipeline:

  1. Generates SBOMs excluding dev/build dependencies
  2. Validates against CycloneDX 1.5 schema
  3. Attaches to release for audit/compliance download

Local Generation

# Generate both SBOMs
make sbom

# Generate and validate (requires Docker)
make sbom-validate

Enterprise Use

These SBOMs support:

  • Vulnerability scanning (Grype, Trivy, Snyk)
  • License compliance audits
  • Supply chain security (SLSA, SSDF frameworks)
  • Regulatory requirements (FDA, EU CRA, Executive Order 14028)

Security Scanning

Kubeli includes automated security scanning in CI and local development.

Automated Scans (CI)

Scanner Purpose Trigger
Trivy SBOM vulnerability scanning PRs, pushes to main
Trivy Secret & misconfiguration detection PRs, pushes to main
Semgrep Static code analysis (SAST) PRs, pushes to main

Results appear in the GitHub Security tab (requires GitHub Advanced Security for private repos).

Local Scanning

# Run all security scans (requires Docker)
make security-scan

# Individual scans
make security-trivy    # Vulnerability + secret scanning
make security-semgrep  # Static code analysis

Configuration

  • trivy.yaml - Severity thresholds and scan settings
  • trivy-secret.yaml - Secret detection rules
  • .semgrep.yaml - Custom SAST rules for TypeScript and Rust

Platform Support

macOS

  • Requirements: macOS 10.15+ (Catalina or later)
  • Architecture: Apple Silicon (arm64) native
  • Auto-Updates: Fully supported via Tauri updater

Windows

  • Requirements: Windows 10/11 (64-bit)
  • WebView2: Automatically installed if missing (embedded bootstrapper)
  • Auto-Updates: Fully supported via Tauri updater
  • Note: First launch may show SmartScreen warning (app is not code-signed with Microsoft certificate)

Windows Development Setup

For developing or testing Kubeli on Windows, see the Windows Setup Guide.

Supported Kubernetes Providers

Provider Detection Icon
Minikube Context name Yes
AWS EKS Context/URL pattern Yes
Google GKE Context/URL pattern Yes
Azure AKS Context/URL pattern Yes
Generic K8s Fallback Yes

Project Structure

kubeli/
├── src/                    # React frontend (Vite)
│   ├── app/                # App styles/tests
│   ├── components/         # React components
│   │   ├── features/       # Dashboard, Resources, Logs, Terminal
│   │   ├── layout/         # Sidebar, Titlebar
│   │   └── ui/             # Radix UI components
│   └── lib/
│       ├── hooks/          # useK8sResources, useLogs, useShell, etc.
│       ├── stores/         # Zustand stores
│       ├── tauri/          # Tauri command bindings
│       └── types/          # TypeScript definitions
├── src-tauri/              # Tauri/Rust backend
│   └── src/
│       ├── commands/       # clusters, resources, logs, shell, portforward
│       └── k8s/            # KubeClientManager, config parsing
└── Makefile                # Development shortcuts

Contributing

We welcome contributions! Please read our Contributing Guide and AI Usage Policy before submitting PRs.

Changelog

See CHANGELOG.md for a detailed list of changes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Created by Atilla Deniz

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for Kubeli

Similar Open Source Tools

For similar tasks

For similar jobs