// the find
philippemerle/KubeDiagrams
Generate Kubernetes architecture diagrams from Kubernetes manifest files, kustomization files, Helm charts, helmfiles, and actual cluster state
KubeDiagrams turns Kubernetes manifests, kustomize output, Helm charts/helmfiles, or a live cluster's `kubectl get all` dump into architecture diagrams. It's aimed at anyone who needs to document or explain a K8s deployment — ops teams writing runbooks, maintainers documenting a chart, or anyone tired of hand-drawing boxes for a README.
Input flexibility is real: it eats raw manifests, kustomize, Helm charts, helmfiles, and actual cluster state through the same pipeline, so you're not locked into one workflow. Output flexibility matches it — PNG/SVG/PDF for docs, but also D2, Mermaid, and an editable draw.io export, which matters if someone downstream wants to tweak the diagram by hand instead of regenerating it. Resource coverage is wide (51 built-in kinds) and custom resources aren't an afterthought — you map CRDs to icons/relationships via a config file, with several real examples (Argo, cert-manager, Gateway API) showing the pattern works in practice, not just in theory. Distribution is unusually thorough for a project this size: PyPI, Docker, Nix, a kubectl plugin, a GitHub Action, and a JetBrains plugin — whoever maintains this clearly wants it to fit into existing workflows rather than demanding a new one.
Native Windows support doesn't exist — the README says so outright and punts to "use the container image," which is a real friction point for mixed-OS teams. It has a hard external dependency on the Graphviz `dot` binary, which is an extra system install to manage in CI or packaging beyond what pip gives you. Custom resource support is manual mapping via config files, not schema-driven discovery — for a cluster with many unfamiliar CRDs, that's real upfront work per resource type, not something the tool figures out for you. There's no discussion anywhere of how diagrams hold up at scale — a cluster with hundreds of resources is going to stress Graphviz's layout engine, and nothing in the docs or examples addresses readability past toy/demo-sized manifests.