
KubeTable Community is a local-first desktop client for working with databases running inside Kubernetes.
It reads your kubeconfig, discovers database services, opens local port-forwards, and gives you a query workspace without switching between kubectl port-forward, terminal tabs, and separate database tools.

KubeTable Community is designed to run locally:
The app can still touch sensitive local data: kubeconfigs, cluster metadata, database credentials, SQL text, and query results. Do not put real kubeconfigs, credentials, tokens, private keys, production URLs, query results, screenshots with secrets, or verbose logs in issues or pull requests.
Read docs/SECURITY_MODEL.md before changing code that handles kubeconfigs, credentials, query execution, logging, storage, or network behavior.
The public app exposes a small plugin host for downstream builds:
import App from "./App";
export default function Root() {
return <App plugins={[]} />;
}
Plugins can add app-level integrations such as telemetry adapters, command-palette actions, topbar actions, and cluster-manager sections without changing Community source code. Keep concrete hosted integrations, release infrastructure, and service-specific credentials outside this repository.
kubectl access to any cluster you want to inspectFor Tauri platform setup, use the official Tauri prerequisites for your operating system.
Install dependencies:
bun install
Run the frontend in development mode:
bun run dev
Run the desktop app:
bun run tauri dev
Build the frontend:
bun run build
Check the Rust backend:
cd src-tauri
cargo check
Build a desktop bundle:
bun run tauri build
The test/ directory contains a small Kubernetes test environment with sample PostgreSQL, MySQL, Redis, and MongoDB services.
Apply it to your current cluster:
kubectl apply -f test/kubetable-test.yaml
Remove it again:
kubectl delete -f test/kubetable-test.yaml
There is also a helper script:
./test/kubetable-test.sh up
./test/kubetable-test.sh status
./test/kubetable-test.sh down
Use only local or disposable clusters for test data.
src/ React desktop UI
src/App.tsx App shell and plugin host
src/lib/plugins.ts Neutral plugin interfaces
src/lib/tauri.ts Frontend bindings for Tauri commands
src-tauri/ Tauri app and Rust backend
src-tauri/src/discovery/ Kubernetes discovery and credential detection
src-tauri/src/portforward/ Local tunnel management
src-tauri/src/adapters/ Database adapters
test/ Kubernetes test environment
docs/ Security model and release notes
Keep Community local-first. Pull requests should not add secrets, hidden endpoints, real credentials, or service integrations that require external infrastructure for the desktop workflow.
Before opening a pull request:
bun run build
cd src-tauri
cargo check
If your change affects kubeconfig parsing, credential detection, query execution, local storage, logs, or network behavior, include a short security note in the pull request.
Read CONTRIBUTING.md before opening a pull request.
Security reports should follow SECURITY.md. Please do not disclose vulnerabilities in public issues before maintainers have had a chance to review them.
KubeTable Community is licensed under Apache-2.0. See LICENSE.
Submitted by Emma Grosch on 6/5/2026
View Profile