Features How It Works Quick Start Roadmap GitHub ↗
Pre-1.0 — dev & staging clusters, dry-run first

Your Pods
Never Stay Broken

A Kubernetes remediation engine, written in Go, that understands failures before it fixes them. It detects CrashLoopBackOff with full evidence and takes safe, bounded, truthful actions.

Preview everything first: kuberescue monitor -n default --once --dry-run

0
Static Go binary
0
Bare pods ever deleted
0
Actions with evidence
0
Exit codes: 0 · 1 · 2
Features

Safety-First Remediation

Evidence in, bounded action out, truthful report always.

Watches Pods

Monitors pods in a namespace (optionally filtered by label selector), once or on an interval — in-cluster or via your local kubeconfig.

Detects With Evidence

Finds containers stuck in CrashLoopBackOff and records why: restart count, last exit code, termination reason, and owning controller.

Restarts Safely

Restarts only controller-managed pods — bare pods are never deleted. --dry-run previews everything and --max-restarts caps actions per scan.

Reports Truthfully

Versioned JSON reports on stdout, structured logs on stderr, CI-friendly exit codes — and a dry run is never counted as a remediation.

Pipeline

How It Works

Every scan runs the same honest loop — watch the steps light up.

Scan

List pods in the namespace

Detect

Pure functions over pod state

Evidence

Exit code, reason, owner

Safe Action

Budgeted, controller-only

Report

Truthful, versioned JSON

Quick Start

Running in Two Minutes

Pick your path — build from source, run the Docker image, or try the crash-loop demo.

terminal
# Clone and build
git clone https://github.com/sameeralam3127/KubeRescue.git
cd KubeRescue
make build

# Preview what it would do — changes nothing
bin/kuberescue monitor -n default --once --dry-run

# Monitor continuously, at most 3 restarts per scan
bin/kuberescue monitor -n default --interval 30s --max-restarts 3

Tries in-cluster config first, falls back to local kubeconfig (--kubeconfig, --context). Add -o json for automation — exit code 2 signals findings.

terminal
# Build the non-root distroless image
make docker

# Check the CLI
docker run --rm kuberescue:local --help

A single static Go binary inside a distroless base — small, fast, non-root.

terminal
# Create an intentional CrashLoopBackOff
kubectl create namespace kuberescue-test
kubectl apply -n kuberescue-test -f examples/crashloop-demo.yaml

# Observe first, then remediate
kuberescue monitor -n kuberescue-test --once --dry-run
kuberescue monitor -n kuberescue-test --once

# Clean up
kubectl delete namespace kuberescue-test

Works great with Docker Desktop's built-in Kubernetes (docker-desktop context).

Roadmap

Milestone by Milestone

Toward an intelligent, policy-gated remediation platform.

M0 — Go Rewrite Shipped

Safety-first remediation kernel: evidence-rich detection, controller-only restarts, dry-run, restart budgets, versioned JSON reports.

M2 — Safe Remediation Kernel Planned

Per-cause actions, policy gate with cooldowns and rate budgets, protected namespaces, simulate via server-side dry-run, audit history.

M3 — Operator Planned

CRDs for policies and actions, informer-based controller, leader election, Prometheus metrics, approval workflow, Helm chart.

M4 — Ecosystem Planned

Slack and webhook notifications, Grafana dashboards, OpenTelemetry, signed releases with SBOM.

Ready to Auto-Heal Your Clusters?

KubeRescue is open source and MIT licensed. Clone it, dry-run it against a dev cluster, and contribute back.