Terraform modules used by Grid Platform.
When Grid generates infrastructure from JSON, it pulls the modules it needs from this bank (copy into the generated workspace). You can also use these modules from your own Terraform roots without Grid.
Plain Terraform — no lock-in. Pin a release tag, fork for your org, or copy modules into your archive. The stack stays operable if Grid is removed.
Docs: grid-docs · CLI: grid-cli
- One folder = one module (one cloud product or a clear building block).
- Callers wire dependencies; a module should not silently create another product’s resources.
- Provider requirements live in each module’s
versions.tf.
grid-terraform/
├── aws/
├── gcp/
├── azure/
├── oracle/ | ibm/ | alibaba/ | tencent/ | huawei/ | ovh/
├── deutsche-telekom/ | ctrls/ | yotta/ | utho/
├── rancher/ | openshift/ | redis-enterprise/ | confluent-cloud/ | mongodb/
└── versions.tf
- Desired-state JSON names a
type(and oftenmetadata.modulePath). grid generateresolves that to a folder here and copies it.- Generated
main.tfuses./modules/…so apply works from the copy alone.
export GRID_MODULE_BANK=https://github.com/gridplatform/grid-terraform.git
export GRID_MODULE_BANK_REF=v0.1.0 # prefer a release tag in production
# Or a local checkout while developing modules
export GRID_MODULE_BANK=/path/to/grid-terraformAWS and GCP catalogs are marked supported in the CLI for the current release surface. Other provider folders include many scaffolds; treat them as work in progress unless you have verified the module yourself.
Approximate folder counts (directories under each provider): AWS ~219, GCP ~126, Azure ~133, plus regional / specialty clouds — see the tree above.
See CONTRIBUTING.md. One concern per folder; no credentials or customer state in PRs.
Issues: grid-terraform/issues
| Repository | What it’s for |
|---|---|
| grid-cli | Maps JSON → modules here |
| grid-core | Runs generate + Terraform for the console |
| grid-config | Example JSON that points at these modules |
| grid-docs | Guides |
MIT — see LICENSE.