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.
The model in one paragraph
You declare the entire deployment — graphs, schemas, stored queries, Cedar
policies — as files in one directory (cluster.yaml plus the .pg/.gq/
.yaml files it references). cluster apply converges reality to that
declaration and records what it did in a state ledger
(__cluster/state.json); cluster plan previews exactly what apply would
do, including real schema-migration steps. A server started with
omnigraph-server --cluster <dir> serves what was applied — never what is
merely written in config. Terraform users will recognize the shape: config
is desired state, the ledger is recorded state, plan is the diff, apply is
the only thing that changes the world, and irreversible changes require an
explicitly recorded approval.