How srelens/srelens works
srelens is a local-first Kubernetes control room offered as a Tauri desktop app, terminal UI, and multi-user web app. Engineers connect cluster contexts, investigate live resources and operational signals, then edit or act; the same supported capabilities can be exposed to MCP clients. The map preserves these distinct surfaces and the shared Kubernetes, streaming, and capability layers. README documents the major features; sampled source confirms selected transport, storage, stream, and authentication behavior, so unsampled subsystem links are limited to documented relationships.
Main entry points: components Desktop views · src/lib.rs Desktop backend · src/lib.rs Capability registry · App.tsx Desktop workspace
Components 29
User surfaces
- Desktop workspace
apps/desktop/src/App.tsx - Desktop views
apps/desktop/src/components - Terminal UI
apps/tui/src/app.rs - Web workspace
packages/ui-next/src
Cluster investigation
- Cluster contexts
crates/kube/src/contexts.rs - Live resources
crates/kube/src/workloads.rs - Resource inspection
apps/desktop/src/components/ResourceDetail.tsx - Logs and metrics
crates/kube/src/logs.rs - Topology and events
crates/kube/src/topology.rs
Operations
- YAML editing
crates/kube/src/manifest.rs - Cluster actions
crates/kube/src/actions.rs - Helm releases
crates/kube/src/helm.rs - Exec and forwards
crates/streams/src/exec.rs - Toolbox
crates/kube/src/toolbox.rs
Shared runtime
- Core transport
packages/core/src/transport/transport.ts - Desktop backend
apps/desktop/src-tauri/src/lib.rs - Capability registry
crates/capability/src/lib.rs - Stream manager
crates/streams/src/app.rs
Web and agents
- Web server
crates/server/src/api.rs - Web authentication
crates/server/src/auth/routes.rs - Server database
crates/server/src/db.rs - MCP server
crates/mcp/src/lib.rs - LLM providers
crates/llm/src/client.rs - Extensions
crates/registry/src/extensions.rs
Other components
- Engineer
- Web user
- Kubernetes API
- Local kubeconfig
- MCP client
Connections 36
- Engineer → Desktop workspace: uses
- Desktop workspace → Desktop views: renders
- Desktop workspace → Core transport: uses
- Core transport → Desktop backend: invokes
- Engineer → Terminal UI: uses
- Web user → Web workspace: uses
- Web workspace → Web server: requests
- Web server → Web authentication: authenticates
- Web authentication → Server database: reads and writes
- Desktop backend → Capability registry: dispatches
- Terminal UI → Capability registry: uses
- Web server → Capability registry: serves
- Capability registry → Cluster contexts: resolves contexts
- Cluster contexts → Local kubeconfig: loads credentials
- Live resources → Kubernetes API: queries and watches
- Cluster contexts → Kubernetes API: connects
- Desktop views → Live resources: browses
- Desktop views → Resource inspection: inspects
- Desktop views → Logs and metrics: views
- Desktop views → Topology and events: views
- Desktop views → YAML editing: edits manifests
- YAML editing → Kubernetes API: applies manifests
- Desktop views → Cluster actions: requests actions
- Cluster actions → Kubernetes API: mutates resources
- Desktop views → Helm releases: manages releases
- Helm releases → Kubernetes API: operates on
- Desktop views → Exec and forwards: opens sessions
- Exec and forwards → Kubernetes API: streams through
- Desktop views → Toolbox: manages tools
- Desktop backend → Stream manager: owns streams
- Stream manager → Desktop backend: emits events
- MCP client → MCP server: sends requests
- MCP server → Capability registry: dispatches tools
- MCP server → LLM providers: uses provider
- Desktop workspace → MCP server: starts optional server
- Desktop backend → Extensions: loads extensions