Quick start (Terraform)
This path always follows the same lifecycle: configure → preflight → plan → review → apply saved plan → verify. Prefer Microsoft’s native IaC? See Quick start (Bicep).
No-install option — every command below also works in Azure Cloud Shell (Bash). Cloud Shell is pre-authenticated and ships with
az,terraform, andgit. See Prerequisites → Option A: Cloud Shell for the full walkthrough and Terraform-version pinning tip.
1. Clone, authenticate, and configure
Section titled “1. Clone, authenticate, and configure”git clone https://github.com/travishankins/azure-launchpad.gitcd azure-launchpadaz loginexport ARM_SUBSCRIPTION_ID=<subscription-id>Use the configuration generator and save its Terraform output as infra/terraform/foundation/scenarios/wizard.auto.tfvars.
2. Bootstrap state once
Section titled “2. Bootstrap state once”./scripts/bootstrap-state.shThis creates the storage backend, grants the signed-in identity Storage Blob Data Contributor, and writes the ignored .launchpad/backend.hcl. See Prerequisites → Azure access for the one-time role-assignment requirement.
3. Preflight and save a plan
Section titled “3. Preflight and save a plan”./scripts/deploy.sh plan --iac terraform --mode single \ --subscription "$ARM_SUBSCRIPTION_ID" \ --scenario baseline \ --config infra/terraform/foundation/scenarios/wizard.auto.tfvarsThe command checks tools, authentication, subscription access, configuration, and backend setup before creating .launchpad/plans/foundation.baseline.single.tfplan.
4. Review, then apply only that plan
Section titled “4. Review, then apply only that plan”./scripts/deploy.sh apply --iac terraform --mode single \ --subscription "$ARM_SUBSCRIPTION_ID" \ --scenario baseline \ --config infra/terraform/foundation/scenarios/wizard.auto.tfvars \ --plan-file .launchpad/plans/foundation.baseline.single.tfplanapply refuses to run without a saved plan.
5. Verify
Section titled “5. Verify”./scripts/verify.sh --mode single \ --subscription "$ARM_SUBSCRIPTION_ID" \ --scenario baseline --name-prefix contoso --region-short wcusTo switch scenarios, regenerate the configuration and repeat plan/apply with the matching scenario. Each scenario and deployment mode gets a separate workspace, state key, and plan filename.