One graph, every substrate
Where Argo CD shows one cluster’s tree, behold shows the mixed estate: cloud drift on AWS, a Kubernetes workload on the cluster that cloud declared, artifact presence on Helm. Each substrate’s own kind of truth, joined.
You do not have to read the rest of this site first. Paste this into Claude Code — or any coding agent with a shell — from anywhere:
Clone https://github.com/INTENTIUS/behold and get me looking at a liveinfrastructure graph in my browser.
I want the version that needs no cloud account and no credentials — thebundled demo that runs against a local emulator in Docker. Install what itneeds, start it, and tell me the URL.
Then walk me through what I am looking at: what the colours mean, and how toget a resource to change colour while I watch.
If Docker is not running, say so and show me the source-graph-only versioninstead rather than failing.That is the whole onboarding path.
Prefer npm to a checkout? The same command, no clone (needs Docker):
npx @intentius/behold demoOne graph, every substrate
Where Argo CD shows one cluster’s tree, behold shows the mixed estate: cloud drift on AWS, a Kubernetes workload on the cluster that cloud declared, artifact presence on Helm. Each substrate’s own kind of truth, joined.
Coloured by what is actually there
Green is managed, amber is foreign, blue is declared but not yet observed. The colours come from reading the live estate. behold hosts no state file.
Zoom from components to fields
Components, composites, resources, attributes. On Kubernetes one tier further, to the Pods your Deployment owns and which field manager wrote each field.
Writes stay delegated
behold never mutates anything. Sync starts the ApplyOp you committed; Adopt starts your ReconcileOp, which opens a PR a human merges. It holds no apply credentials.
chant source ──build/lint──▶ graph IR ──behold──▶ live graph + drift + (delegated) actions (deterministic) (server + browser)behold reads what chant compiled and what the cloud reports, and shows you the difference. Being a viewer over a compiler is what lets it be honest about the parts it could not read.