A Kubernetes terminal console in Rust · kube-rs · ratatui

SAURON
One eye over the entire cluster.

See what exists, understand what needs attention, inspect the evidence behind every judgment, and act only when policy allows.

UNKNOWNZEROHEALTHY
$cargo install sauron
view source
ops@production-eu · sauron v1.0
┌ sauron ┐
│ Context:
ops@production-eu [read-only]
│ Cluster:
https://10.42.0.1:6443/
│ Namespace:
<all>
│ Resource:
overview
│ Objects:
135 synchronized
y yamll logsp prev logss shelld describef port-fwde explainT timelinea adjacentx xraym journal? help
cluster eye
╭ SAURON / EYE ──────────────────────────────────────────────────────────────────────────
│ CONTEXT  production-eu       NAMESPACE  all                 ● LIVE
├─────────────────────────────────────────────────────────────────────────────────────
│  03 NEED ATTENTION     128 HEALTHY     04 UNKNOWN     07 CHANGED
├─────────────────────────────────────────────────────────────────────────────────────
│  Deployment  payments/api         DEGRADED   2/4 ready   84% cpu/r
│  Pod         payments/api-7fc2    PENDING    0/2 ready   evidence: 4
│  HelmRelease platform/ingress     DRIFTED    rev 42      reconcile: idle
╰─────────────────────────────────────────────────────────────────────────────────────
 eye  Evidence ranked · UNKNOWN is never rendered as healthy
: resource/ filterS sortI invertw widespace mark[ ] history? help
Viewing cluster eye livewatch 12ms · 135 objects · 0 stale

Every frame is selectable text. No screenshots. No fabricated state.

:workflow

From signal to evidence
without leaving the terminal.

SAURON keeps identity, provenance and uncertainty attached to every step, from a failing row to the guarded operation that resolves it.

01:pods -A / cpu/%r>80 or health!=healthy

Find pressure and failure without losing unknown values.

02e explain selected

Read the fields, events and metrics supporting the verdict.

03x xray --depth 3

Trace verified dependencies and understand the blast radius.

04:restart payments/api

Preview, authorize, revalidate and journal the operation.

:evidence

156automated checksunit + simulated API
18adversarial flowscombined live sequences
75mstability run1,263 observed cycles
0failuresstable threads and file descriptors

Measured against an isolated Kubernetes cluster. Numbers describe the recorded run, not a comparative benchmark.

:features

Built for operators who
need the whole truth.

Keyboard-first workflows, live Kubernetes primitives and explicit uncertainty, composed into one fast console.

w

Live cluster state

Native Kubernetes watches keep built-in resources and discovered CRDs continuously current.

/

Typed filters

Combine quantities, percentages, labels, age and health with three-valued logic that preserves unknowns.

e

Evidence-first health

Deterministic resource health cites the exact fields, metrics, events and conditions behind every verdict.

x

Explain + Timeline

Inspect correlated evidence and meaningful UID-scoped transitions without fabricated history.

a

Adjacent + Xray

Traverse verified ownership, references, selectors, storage and networking relationships across the cluster.

l

Logs and sessions

Stream multi-container logs, exec, shell, attach and manage concurrent loopback port forwards.

b

Operator workflows

Use bookmarks, saved views, workspaces, bulk selections, custom keymaps and a global object finder.

p

Plugins + headless

Extend commands through bounded plugins or export structured checks, snapshots and evidence bundles.

:safety

Read-only means
read-only.

Every mutation passes through one policy boundary. SAURON previews the change, checks authorization, binds confirmation to the exact object incarnation, then revalidates identity at commit time.

Central mutation gateway RBAC and policy evaluation UID + resourceVersion preconditions Append-only operation journal Secret and annotation redaction Explicit uncertain outcomes
POLICY DECISIONALLOW
operation
scale deployment/api → 6
context
production-eu
identity
verified · 41d8…02be
authorization
patch apps/deployments
blast radius
6 pods · 2 dependents

:integrations

Your delivery stack,
inside the same view.

Inspect reconciliation, ownership and release history across the systems already running your cluster.

FLUX

Reconcile with context

Kustomizations, HelmReleases, sources and image automation with dependency-aware actions.

:flux reconcile platform
ARGO CD

See desired and live

Applications, ApplicationSets, revisions, managed resources and exact restoration semantics.

:argo app payments
HELM

Understand every release

History, values, manifests, notes, ownership and guarded rollback or uninstall workflows.

:helm history ingress

PLUGINS: bounded execution, typed inputs and structured reports

HEADLESS: deterministic checks, snapshots and machine-readable output

PROVIDERS: historical metrics and logs without compromising provenance

:install

Put the eye on your cluster.

Requires a Rust toolchain, a Kubernetes kubeconfig and network access to the API server.

$cargo install sauron
$sauron --context production-eu pods -A
$sauron --readonly
Open SAURON on GitHub