Overview
ClusterDeck is a macOS-first desktop tool for keeping local access to frequently recreated VM and Kubernetes environments stable.
It is not a general Kubernetes management console. Its boundary is the workstation access layer: discover a remote environment, make SSH access usable, fetch and normalize kubeconfig, then verify Kubernetes connectivity.
IP / Host Discovery
↓
SSH Connectivity
↓
SSH Bootstrap (optional)
↓
SSH Alias / ProxyJump
↓
Remote kubeconfig Fetch
↓
kubeconfig Normalization
↓
Local Profile
↓
Kubernetes Connectivity CheckDesign
- Tauri 2 + Rust for filesystem, process execution, SSH orchestration, and kubeconfig handling.
- React + TypeScript for a compact Profile/Host/Connect/Status UX.
- Native OpenSSH first instead of reimplementing SSH behavior.
- Profile-oriented identity so users think in environments rather than changing IP addresses.
- ClusterDeck-owned configuration under
~/.clusterdeck/without rewriting unrelated user SSH/Kubernetes configuration.
Security boundary
Bootstrap passwords are one-time inputs and should not be stored or logged. Generated kubeconfigs use restrictive permissions, destructive merges should be reversible, and persistent credentials should use a secure local store such as macOS Keychain.
MVP
- Profile CRUD
- Multi-host discovery and SSH bootstrap
- SSH alias generation
- Bastion / ProxyJump
- Remote kubeconfig fetch and normalization
- Per-Profile kubeconfig storage
- Kubernetes connectivity verification
- Minimal-click macOS UI
Cross-platform and provider-specific discovery remain later phases.
Development
pnpm install
pnpm tauri dev
pnpm build
cargo check --manifest-path src-tauri/Cargo.tomlDocumentation
| Topic | Page |
|---|---|
| Overview | Overview |
| Architecture | Architecture |
| Getting Started | Getting Started |