libs/plane | Python | The control plane: the HTTP API, the hub that terminates operator streams, and the reactor that derives alerts. One package, three processes, one Postgres. |
libs/operator | Go | hangar-operator, one per cluster. Syncs desired state from the hub into CRDs, renders each deployment as an NVIDIA Dynamo graph, and reports observed state. |
libs/gateway | Go | The data plane. One OpenAI-compatible hop that routes on model, terminates the agents' tunnels, and identifies tenants. |
libs/agent | Go | hangar-agent, one per cluster. Dials out to every gateway replica and proxies inference to the model's frontend inside the cluster. |
libs/console | TypeScript | The web console. Talks to the plane's HTTP API only, and runs against built-in fixtures with no backend. |
libs/cli | Go | hgr, the command line. Same API as the console, with stable JSON output and an offline --fake backend. |
libs/chart | Helm | cluster-setup: the operator, the agent, CRDs, the NVIDIA Dynamo platform, the DCGM exporter, and optional monitoring. |
libs/packages/contract | Markdown, JSON | The plane-operator wire protocol, the HTTP API conventions and OpenAPI schema, the device-class table, and a shared fixture corpus. |
libs/packages/tunnel | Go | Both ends of the gateway-agent tunnel, in its own module because neither side owns it. |
libs/benchmarking | Python | hgrbench. Four load generators against one OpenAI-compatible endpoint, reported side by side. |
libs/transit | Go | hgrtransit. Measures the request path on one host, with no GPU and no cluster. |
libs/conformance | Python | hgrconform. Probes an OpenAI-compatible endpoint and diffs its behavior against a reference provider. |