1- ![ CI] ( https://github.com/AnonJon/kdocter /actions/workflows/ci.yml/badge.svg )
2- ![ Release] ( https://img.shields.io/github/v/release/AnonJon/kdocter )
1+ ![ CI] ( https://github.com/AnonJon/kroot /actions/workflows/ci.yml/badge.svg )
2+ ![ Release] ( https://img.shields.io/github/v/release/AnonJon/kroot )
33![ License] ( https://img.shields.io/badge/license-MIT-blue )
44![ Rust] ( https://img.shields.io/badge/rust-stable-orange )
55![ Kubernetes] ( https://img.shields.io/badge/kubernetes-compatible-blue )
66
7- # kdocter
7+ # kroot
88
99Root cause analysis for Kubernetes incidents.
1010
11- ` kdocter ` is a Rust CLI that analyzes Kubernetes resources,
11+ ` kroot ` is a Rust CLI that analyzes Kubernetes resources,
1212builds dependency graphs, and explains _ why failures occur_ .
1313
14- Instead of only detecting symptoms, ` kdocter ` builds a dependency graph
14+ Instead of only detecting symptoms, ` kroot ` builds a dependency graph
1515and traces resource relationships to explain root causes.
1616
1717## TL;DR
1818
1919``` bash
20- kdocter diagnose cluster -A
20+ kroot diagnose cluster -A
2121```
2222
2323Find root causes for Kubernetes failures using dependency-aware analysis.
2424
25- ## How kdocter Works
25+ ## How kroot Works
2626
27- ` kdocter ` analyzes a cluster in three stages:
27+ ` kroot ` analyzes a cluster in three stages:
2828
29291 . Collect Kubernetes resources (pods, services, secrets, and related objects).
30302 . Build a dependency graph between resources.
31313 . Run analyzers that detect failure patterns and trace root causes.
3232
33- This allows ` kdocter ` to report not just failing resources, but the dependency chains that explain the failure.
33+ This allows ` kroot ` to report not just failing resources, but the dependency chains that explain the failure.
3434
3535## Contents
3636
3737- [ TL;DR] ( #tldr )
38- - [ How kdocter Works] ( #how-kdocter -works )
39- - [ Why kdocter ] ( #why-kdocter )
38+ - [ How kroot Works] ( #how-kroot -works )
39+ - [ Why kroot ] ( #why-kroot )
4040- [ Features] ( #features )
4141- [ Installation] ( #installation )
4242- [ Quick Start] ( #quick-start )
43- - [ When to Use kdocter ] ( #when-to-use-kdocter )
43+ - [ When to Use kroot ] ( #when-to-use-kroot )
4444- [ Example Output] ( #example-output )
4545- [ Command Reference] ( #command-reference )
4646- [ Output Formats] ( #output-formats )
@@ -58,10 +58,10 @@ This allows `kdocter` to report not just failing resources, but the dependency c
5858- [ Contributing] ( #contributing )
5959- [ License] ( #license )
6060
61- ## Why kdocter
61+ ## Why kroot
6262
6363Most Kubernetes tooling tells you _ what failed_ .
64- ` kdocter ` is designed to explain _ why it failed_ by correlating resources and their relationships.
64+ ` kroot ` is designed to explain _ why it failed_ by correlating resources and their relationships.
6565
6666Example chain:
6767
@@ -87,8 +87,8 @@ Example chain:
8787### Build and run locally
8888
8989``` bash
90- git clone https://github.com/AnonJon/kdocter
91- cd kdocter
90+ git clone https://github.com/AnonJon/kroot
91+ cd kroot
9292cargo build --workspace
9393```
9494
@@ -101,32 +101,32 @@ cargo install --path cli
101101### Install from source repository (single command)
102102
103103``` bash
104- cargo install --git https://github.com/AnonJon/kdocter --bin kdocter
104+ cargo install --git https://github.com/AnonJon/kroot --bin kroot
105105```
106106
107107Then run:
108108
109109``` bash
110- kdocter --help
110+ kroot --help
111111```
112112
113113## Quick Start
114114
115115Diagnose current namespace from your active kubeconfig context:
116116
117117``` bash
118- cargo run -p kdocter -- diagnose cluster
118+ cargo run -p kroot -- diagnose cluster
119119```
120120
121121Diagnose a specific pod:
122122
123123``` bash
124- cargo run -p kdocter -- diagnose pod payments-api -n prod
124+ cargo run -p kroot -- diagnose pod payments-api -n prod
125125```
126126
127- ## When to Use kdocter
127+ ## When to Use kroot
128128
129- ` kdocter ` is useful when:
129+ ` kroot ` is useful when:
130130
131131- a pod is failing but the root cause is unclear
132132- service traffic suddenly stops working
@@ -135,14 +135,14 @@ cargo run -p kdocter -- diagnose pod payments-api -n prod
135135
136136Typical workflow:
137137
138- 1 . Run ` kdocter diagnose cluster` .
138+ 1 . Run ` kroot diagnose cluster` .
1391392 . Inspect dependency traces.
1401403 . Identify the upstream failing resource.
141141
142142## Example Output
143143
144144``` text
145- $ kdocter diagnose cluster -n prod
145+ $ kroot diagnose cluster -n prod
146146
147147Diagnosis Report
148148----------------
@@ -168,13 +168,13 @@ Dependency Traces:
168168### Diagnose cluster
169169
170170``` bash
171- kdocter diagnose cluster [-n < namespace> | -A] [--output text| json| sarif] [--context-file < path> ]
171+ kroot diagnose cluster [-n < namespace> | -A] [--output text| json| sarif] [--context-file < path> ]
172172```
173173
174174### Diagnose pod
175175
176176``` bash
177- kdocter diagnose pod < name> [-n < namespace> ] [--output text| json| sarif] [--context-file < path> ]
177+ kroot diagnose pod < name> [-n < namespace> ] [--output text| json| sarif] [--context-file < path> ]
178178```
179179
180180### Notes
@@ -199,7 +199,7 @@ Human-readable diagnosis report with:
199199Machine-readable output for scripting:
200200
201201``` bash
202- kdocter diagnose cluster --output json -n prod
202+ kroot diagnose cluster --output json -n prod
203203```
204204
205205High-level JSON shape:
@@ -213,15 +213,15 @@ High-level JSON shape:
213213SARIF output is useful for CI systems and security/dev tooling pipelines:
214214
215215``` bash
216- kdocter diagnose cluster --output sarif -A > kdocter .sarif.json
216+ kroot diagnose cluster --output sarif -A > kroot .sarif.json
217217```
218218
219219## Release Binaries and Package Managers
220220
221221Release binaries are published on tagged releases (` v* ` ) through:
222222
223223- [ ` .github/workflows/release.yml ` ] ( ./.github/workflows/release.yml )
224- - [ Latest release] ( https://github.com/AnonJon/kdocter /releases/latest )
224+ - [ Latest release] ( https://github.com/AnonJon/kroot /releases/latest )
225225
226226Available now:
227227
@@ -237,7 +237,7 @@ Planned install paths:
237237Run analysis against a previously captured context:
238238
239239``` bash
240- kdocter diagnose cluster --context-file ./context.json
240+ kroot diagnose cluster --context-file ./context.json
241241```
242242
243243Example context fixture:
@@ -283,15 +283,15 @@ kubectl get events -n prod
283283
284284This surfaces symptoms, but usually not the full dependency cause chain.
285285
286- ` kdocter ` correlates dependencies directly:
286+ ` kroot ` correlates dependencies directly:
287287
288288` Pod/prod/payments-api -> Secret/prod/db-password -> Secret missing `
289289
290290That gives a direct root-cause path instead of disconnected clues.
291291
292292## Project Status
293293
294- ` kdocter ` is early-stage but functional for real diagnostics.
294+ ` kroot ` is early-stage but functional for real diagnostics.
295295
296296First public release: ` v0.1.0 ` (March 8, 2026).
297297
@@ -307,19 +307,19 @@ Expect active iteration as graph coverage and reasoning depth expand.
307307
308308## Similar Tools
309309
310- ` kdocter ` focuses on dependency-aware root cause analysis.
310+ ` kroot ` focuses on dependency-aware root cause analysis.
311311
312312Related tools:
313313
314314- ` popeye ` (cluster linting)
315315- ` kube-score ` (manifest/static analysis)
316316- ` kubectl ` (manual troubleshooting)
317317
318- ` kdocter ` complements these by correlating runtime relationships between resources.
318+ ` kroot ` complements these by correlating runtime relationships between resources.
319319
320320## Kubernetes Permissions (RBAC)
321321
322- ` kdocter ` collects and correlates multiple resource types. Your identity should allow at least:
322+ ` kroot ` collects and correlates multiple resource types. Your identity should allow at least:
323323
324324- ` get/list ` on ` pods `
325325- ` get/list ` on ` services `
@@ -362,7 +362,7 @@ DependencyGraph
362362
363363Workspace crates:
364364
365- - ` cli ` : binary crate (` kdocter ` )
365+ - ` cli ` : binary crate (` kroot ` )
366366- ` crates/cluster ` : Kubernetes collectors and context loading
367367- ` crates/types ` : normalized domain models
368368- ` crates/graph ` : dependency graph builder/model (` petgraph ` )
0 commit comments