Deploy a cluster as code
How a deployment goes from a folder of declarations to N graphs served behind policy — the Terraform-style declare → plan → apply → serve loop.
Cluster boot (the only boot)
omnigraph-server --cluster <dir | s3://…> --bind 0.0.0.0:8080
omnigraph-server --cluster <dir-or-uri> boots from the cluster catalog's
applied revision. The server resolves that revision into per-graph
startup configs (id, URI, optional per-graph policy, stored-query
registry) plus an optional server-level policy, then opens every
configured graph in parallel at startup (bounded concurrency = 4,
fail-fast on the first open error). Routing is always multi-graph —
requests to bare flat protected paths (/read, /snapshot, …) return
404; the served surface is /graphs/{graph_id}/.... See
cluster-config.md
for what is read and the fail-fast readiness rules.
A scheme-qualified argument (s3://…) reads the ledger straight from the
storage root, with no local config directory. --bind,
--unauthenticated, and the bearer-token env vars all apply.