Install the storage cluster
The storage cluster is the half that owns your data: the disks, the buckets, the volumes and the data path that serves them. It runs on EC2, outside Kubernetes, and it is deployed with Terraform. Kubernetes comes after — once a cluster is up and reachable, install the CSI driver against it.
What the stacks build, and what each node runs once it is up, is on the Architecture page. For the values to put in whichever blueprint you pick — nodes, instance type, cache disks and the StorageClass — start at Sizing the pool.
Two repositories are involved:
| Repository | What it is |
|---|---|
migrx-io/backedblock | Ready-to-edit deployment blueprints. This is the one you clone. |
migrx-io/terraform-aws-mgx | The Terraform modules the blueprints call. Pulled straight from GitHub — nothing to vendor. |
Deployment layouts
Two blueprints, independent of each other. Pick the one that matches your scale; its page has the steps.
| Single pool | Multi pool | |
|---|---|---|
| Use when | one pool, a lab, a PoC | many pools, a real fleet |
| Tooling | plain Terraform | Terragrunt (run --all) |
| Topology | 1 storage pool | management plane + N storage pools |
| Provisioning | SSH via bastion | SSM Run Command (agentless) |
| Secrets | local secrets.env, over SSH | SSM SecureString |
| Pool discovery | n/a (single pool) | pools auto-discovered via SSM Parameter Store |
| State | local (per stack) | S3 backend (per unit) |
| Bastion | required (it is the provisioning path) | optional — only for SSH access to nodes |