digraph rig_install { rankdir=LR bgcolor="#0a0e17" fontname="Helvetica" node [fontname="Helvetica" fontsize=11 style=filled color="#1e2a4a" fontcolor="#e8eaf0" shape=box] edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"] label="Installation — the only host prerequisite is Docker" labelloc=t fontsize=16 fontcolor="#0066ff" subgraph cluster_host { label="Your machine" style=dashed color="#1e2a4a" fontcolor="#8892a8" docker [label="Docker\n(the one prerequisite)" fillcolor="#1a1a3a" fontcolor="#0066ff" shape=octagon] bin [label="~/.local/bin\nkind · kubectl · tilt\njq" fillcolor="#121829" shape=cylinder] } subgraph cluster_installer { label="Installer container (transient)" style=dashed color="#1e2a4a" fontcolor="#8892a8" installer [label="deps installer\ncurl · jq · python · graphviz" fillcolor="#121829"] detect [label="detect host\nWSL · memory · inotify · docker" fillcolor="#121829"] fetch [label="fetch + verify\nSHA256, pinned versions" fillcolor="#121829"] } upstream [label="upstream\nreleases / corporate mirror" fillcolor="#1a3a1a" fontcolor="#00c853" shape=octagon] report [label="report what it\nCANNOT do" fillcolor="#3a1a1a" fontcolor="#ffc107"] docker -> installer [label="docker run"] installer -> detect detect -> fetch fetch -> upstream [label="pinned + checksummed" color="#00c853"] fetch -> bin [label="install"] detect -> report [style=dashed label="sudo / Windows-side steps" color="#ffc107"] // The container is gone after this; nothing depends on it at run time. installer -> gone [style=dotted label="exits"] gone [label="(container discarded)" fillcolor="#0a0e17" fontcolor="#4a5568" color="#1e2a4a" style="filled,dashed"] }