The product

Every decision visible,
every actor named.

The control panel ships inside the controller, so there is no separate frontend deployment. SQLite covers small installations; PostgreSQL backs the highly available pair. Sign in with a password from a Kubernetes Secret, your SSO provider, or a Kubernetes credential; whatever you approve is recorded under that identity.

The operator console, in motion — a fell-off-bus incident approved at its gate, the node replaced, then the fleet map and playbook flow. Every value is from a real remediation cycle on live EKS.

Open the live operator console Full product tour with a recorded demo

Operator console fleet view: per-node GPU cards with health, temperature, ECC state, and utilization
Fleet view — every GPU node with its accelerators, ECC state, temperature, and exactly where it sits in remediation.
Operator console playbook editor: the escalation ladder as a step flow with approval gates and the action catalog
Playbook view — the escalation ladder as a flow; destructive rungs are forced to require approval by the compiler.
KubeNeuron overview: stat cards, per-node GPU health grid, recent activity
Fleet at a glance — every square is one physical GPU; amber means an incident is in flight on it, red means it is waiting on a human.
Incident drawer with playbook progress and the approval gate
The approval gate: playbook progress, full audit timeline, and the destructive step held until a person decides.
Audit trail after a human approval
The audit trail is the system of record — approvals carry the verified identity, not a free-text name.
KubeNeuron Grafana dashboard: recovered GPU-hours, unattended recovery share and MTTR by class across the top row, then incident, signal and fleet health panels
The shipped Grafana dashboard: incident states, playbook outcomes, gate denials, agent delivery, reconcile latency, TLS expiry.

What recovery gave back

“Resolved” is not
a capacity number.

An incident closing tells you the workflow finished. It does not tell you how much accelerator capacity came back, how long it took, or how often the fleet healed without waking anybody. KubeNeuron measures all three from its own incident store — exact, not sampled, and reproducible from a database snapshot.

366.5GPU-hours recovered, of 412.8 degraded — 88.8%

27 of 31recoveries that finished without a human — 87.1%

12m22smedian time to resolution (p50, n=31; p90 52m0s)

The report these figures come from
kubeneuronctl report --since 30d
degraded GPU-hours     412.8
recovered GPU-hours    366.5       88.8% of degraded
incidents recovered    31 of 37    83.8%
  without a human      27 of 31    87.1% of recovered
MTTR (resolved, n=31)  p50 12m22s  p90 52m0s
  • Recovered means resolved. An incident parked for a human keeps accruing degraded time until somebody closes it. Nothing is credited to automation that automation did not finish.
  • Degraded, not lost. A degraded GPU may still have been serving. The number is honest about what it counts.
  • Dry-run recovers nothing. A pilot still gets the numbers — reported separately, labelled as the simulation it is, so the headline figure cannot flatter a fleet nothing has touched.

Build the safe path first

Run a calmer GPU fleet.

Read the source, run the dry-run ladder, and tell us where the policy model breaks.