How kute-dev/kute works
kute is a keyboard-driven Kubernetes incident console. An operator launches the terminal app against a selected cluster and namespace, triages unhealthy workloads, follows logs, events, and rollout history to diagnose changes, then inspects details or performs guarded actions. The main runtime is composed in app, presented through the TUI, and backed by Kubernetes access and resource projections. Dedicated screens cover routing, batch-workload history, certificates, GitOps, Helm, and cluster access. README documents these capabilities; where implementation was not sampled, links are limited to supported entry points and paths.
Main entry points: cluster.go Cluster client · browse/model.go Resource browser · app.go Session composition · tui/model.go Terminal console
Components 23
Application runtime
- CLI entry
cmd/kute/main.go - Session composition
internal/app/app.go - Terminal console
internal/tui/model.go - Session state
internal/state/state.go
Incident triage
- Resource browser
internal/tui/tasks/browse/model.go - Cluster overview
internal/tui/tasks/overview/model.go - Restart-aware logs
internal/tui/tasks/podlogs/model.go - Cluster events
internal/tui/tasks/events/model.go - Incident timeline
internal/tui/tasks/timeline/model.go - Pod diagnosis
internal/tui/tasks/poddetail/model.go - Route resolution
internal/tui/tasks/routetable/model.go
Workload operations
- Job attempts
internal/tui/tasks/jobattempts/model.go - CronJob detail
internal/tui/tasks/cronjobdetail/model.go - Certificate chain
internal/tui/tasks/certchain/model.go - Action confirmation
internal/tui/actions/controller.go
Cluster integrations
- Resource projections
internal/resources/resources.go - Helm screens
internal/tui/tasks/helmdetail/model.go - GitOps screens
internal/tui/tasks/fluxdetail/model.go
Kubernetes access
- Cluster client
internal/kube/cluster.go - Kubernetes client
internal/kube/client.go - Chart cache
internal/helmrepo/cache.go
Other components
- Operator
- Kubernetes API
Connections 32
- Operator → CLI entry: launches
- CLI entry → Session composition: starts
- Session composition → Terminal console: composes
- Session composition → Cluster client: builds session
- Session composition → Session state: loads and saves
- Terminal console → Resource browser: opens browser
- Terminal console → Cluster overview: opens overview
- Resource browser → Restart-aware logs: opens logs
- Resource browser → Pod diagnosis: opens details
- Resource browser → Route resolution: opens routes
- Resource browser → Job attempts: opens attempts
- Resource browser → CronJob detail: opens CronJob
- Resource browser → Certificate chain: opens chain
- Resource browser → Helm screens: opens Helm
- Resource browser → GitOps screens: opens GitOps
- Resource browser → Resource projections: projects rows
- Restart-aware logs → Cluster client: reads logs
- Cluster events → Cluster client: reads events
- Incident timeline → Cluster client: reads history
- Pod diagnosis → Cluster client: reads and diagnoses
- Route resolution → Cluster client: resolves backends
- Job attempts → Cluster client: reads attempts
- CronJob detail → Cluster client: reads and edits
- Certificate chain → Cluster client: reads and renews
- Helm screens → Cluster client: reads releases
- GitOps screens → Cluster client: reads resources
- Resource browser → Action confirmation: requests mutations
- Action confirmation → Cluster client: executes guarded action
- Cluster client → Kubernetes client: creates client
- Kubernetes client → Kubernetes API: sends requests
- Cluster client → Kubernetes API: watches cluster
- Helm screens → Chart cache: uses chart cache