rackattack#

An agent-driven DCIM — a datacenter infrastructure-management source of truth. A gRPC-first Go service on CockroachDB models devices, cabling, power, and cooling as a typed infra graph; an MCP adapter lets an LLM agent drive it. There is no web GUI — every visualization is a generated artifact (SVG / interactive HTML), and visualization quality is the headline differentiator.

“A Go gRPC service on CockroachDB that models datacenter physical infra — cabling, power, and cooling — as a graph, with a fleet generator so the benchmarks are real, and you can point an agent at it over MCP to ask blast-radius questions and get back a diagram.”

System architecture: two transports, one service core, one datastore
System architecture: two transports, one service core, one datastore

Start here#

SectionWhat it covers
ArchitectureThe service shape, four interfaces, cross-cutting layers, request lifecycle
Data model & schemaThe 17-table infra graph, A/B power chain, transceivers, audit log
RenderingGraphviz layout + the custom Go SVG painter
API surfaceAll 24 gRPC RPCs, REST (grpc-gateway), GraphQL, MCP
ConfigurationEvery environment variable, with defaults
Security & authOIDC/JWT validation + role-based authorization
CachingRead-through cache (LRU/Redis) + invalidation
Audit & CDCCHANGEFEED change-data-capture + audit history
Fleet generator & guided tourThe self-driving guided tour
Performance & scaleHot-query benchmarks, index tuning, load harness
DeploymentContainers and Kubernetes
ObservabilityPrometheus metrics, alerts, Grafana, OpenTelemetry
Interaction modelHover/select states in the interactive artifact
ContributingLocal setup and the build loop

Canonical specs#

These docs are built from — and link back to — the specs checked into the repo: README.md, NARRATIVE.md, TOOLS.md, and assets/DESIGN.md. The specs are the contract; this site is the navigable view.

The diagrams on this site are authored as Graphviz .dot sources in site/diagrams/ and compiled to SVG at build time — the same diagram engine the product uses for its renders.