An open API service indexing awesome lists of open source software.

https://github.com/atilladeniz/kubeli

A modern, native Kubernetes management desktop app for macOS & Windows. Multi-cluster support, real-time monitoring, AI assistant, terminal access, and more.
https://github.com/atilladeniz/kubeli

cloud-native devops k8s kubectl kubernetes kubernetes-dashboard kubernetes-monitoring kubernetes-ui pods

Last synced: 9 days ago
JSON representation

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

Awesome Lists containing this project

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

  

Download for Linux


macOS Notarized
Apple Silicon
x64
Linux 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.9 (Rust) |
| K8s Client | kube-rs with k8s-openapi v1.35 |
| 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+
- npm (default) or pnpm

```bash
# 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

```bash
# 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):

```bash
# Build bundled debug app for screenshots
make screenshot-build

# Capture all screenshots
make screenshots
```

You can override the target context:

```bash
SCREENSHOT_CONTEXT="minikube (dev)" make screenshots
```

## Testing

```bash
# 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](.dev/README.md). This allows you to test environment detection and error handling without cloud provider access.

```bash
# 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](https://cyclonedx.org/) 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](https://github.com/atilladeniz/Kubeli/releases) 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

```bash
# 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

```bash
# 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

## Code Verification (Vet)

[Vet](https://github.com/imbue-ai/vet) is an AI-powered code verification tool that reviews code changes for correctness, security issues, and goal adherence. It uses your existing Claude Code subscription (no extra API keys needed).

### Quick Start

```bash
# Review all changes in current branch against main
# (auto-generates goal from commit messages if GOAL is omitted)
make vet

# Review with a specific goal
make vet GOAL="Refactor storage layer without breaking API"
```

### Use Cases

| Scenario | Command | Description |
|----------|---------|-------------|
| **Branch review** | `make vet` | Review all commits in the branch against main |
| **Goal verification** | `make vet GOAL="Add auth to API"` | Verify changes match the intended goal |
| **PR preparation** | `make vet GOAL="..."` | Self-review entire branch before opening a PR |
| **Post-refactor check** | `make vet GOAL="Refactor X without breaking Y"` | Ensure refactoring didn't introduce regressions |
| **Security review** | `make vet GOAL="Harden input validation"` | Check for security issues in new code |

### How It Works

1. Vet compares all commits in the current branch against `main` (full branch diff)
2. Sends the diff + your goal description to Claude (via Claude Code)
3. Returns a list of issues: logic errors, security problems, goal mismatches
4. Exit code `0` = no issues, `10` = issues found

### Installation

`make install` will attempt to install vet automatically (requires Python with pipx, uv, or pip). If Python is not available, vet is skipped with a warning. To install separately:

```bash
make vet-install
```

### Agent Skill

Vet is also installed as a Claude Code skill (`.claude/skills/vet/`). When using Claude Code for development, the agent will proactively run vet after code changes to catch issues early.

## 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)

### Linux
- **Requirements:** x64 Linux with GLIBC 2.31+ (Ubuntu 20.04+, Fedora 33+, etc.)
- **Format:** AppImage (portable, no installation required)
- **Auto-Updates:** Fully supported via Tauri updater

### Windows Development Setup

For developing or testing Kubeli on Windows, see the [Windows Setup Guide](.dev/windows/WINDOWS-SETUP.md).

## 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/ # AI, Dashboard, Home, Logs, Port Forward, Resources,
│ │ │ # Settings, Shortcuts, Terminal, Updater, Visualization
│ │ ├── layout/ # Sidebar, Tabbar, 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,
│ │ # flux, helm, metrics, mcp, network, watch, etc.
│ ├── k8s/ # KubeClientManager, config parsing
│ ├── ai/ # AI assistant integration
│ └── mcp/ # MCP server
├── web/ # Landing page (Astro)
└── Makefile # Development shortcuts
```

## Contributing

We welcome contributions! Please read our [Contributing Guide](CONTRIBUTING.md) and [AI Usage Policy](AI_POLICY.md) before submitting PRs.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Author

Created by [Atilla Deniz](https://atilladeniz.com)