| title | CLI overview |
|---|
grid-cli turns unit JSON into Terraform and runs plan / apply / destroy. grid-core invokes the same CLI on every console release.
unit.json → grid generate → *.tf (archive or -o dir)
→ grid plan|deploy|destroy → terraform
The CLI is environment-agnostic: it operates on the file you pass, with local cloud credentials. It does not enforce Grid RBAC.
# Inspect / catalog
grid providers
grid status --config-dir /path/to/desired-state
# Single unit
grid generate -c path/to/unit.json -o ./generated --format terraform
grid plan -c path/to/unit.json -o ./generated --format terraform
grid deploy -c path/to/unit.json -o ./generated --format terraform --auto-approve
grid destroy -c path/to/unit.json -o ./generated --format terraform --auto-approveCore injects GRID_* paths into child processes via cliChildEnv so generate finds the module bank and config root consistently.
Each provider page under Clouds lists subtypes as supported or planned. That is separate from console feature flags.
The CLI registers every platform provider id. Generate follows catalog status for that subtype: supported produces a root, planned is vocabulary only. Plan before apply whenever you use a subtype you have not applied on that control plane before.
| Surface | Enforces Grid roles / approvals? |
|---|---|
| Console / API | Yes |
| Raw CLI on a local machine | No — cloud IAM only |