Terraform Init
From the demo repository root, initialize Terraform
HashiCorp Terraform — provisions all platform infrastructure through five modules in `terraform/`. before creating any AWS
Amazon Web Services — cloud platform for ingest, processing, storage, API, and portal hosting in this walkthrough. resources. This walkthrough uses -chdir=terraform for all Terraform commands.
Clone and initialize
Section titled “Clone and initialize”git clone https://github.com/jajera/event-driven-serverless-platform-demo.gitcd event-driven-serverless-platform-demo
terraform -chdir=terraform initTerraform downloads the AWS and archive providers (requires Terraform >= 1.6, AWS provider >= 5.0).
Review the plan
Section titled “Review the plan”After init, preview what will be created:
terraform -chdir=terraform plan -var="region=ap-southeast-2"The plan creates resources across five modules: ingest, ingest-scheduler, processing, presentation, and observability. Key defaults:
| Variable | Default | Description |
|---|---|---|
region | ap-southeast-2 | AWS region |
source_bucket | geonet-open-data | GeoNet |
lookback_hours | 1 | Ingest |
schedule_expression | rate(1 hour) | Scheduler |
processor_image_tag | latest | ECR |
deploy_amplify_on_apply | true | Build and zip-deploy portal |
See Terraform Variables for the full list.
Deployment order
Section titled “Deployment order”- ECR and Processor Image — create ECR repo and mirror GHCR image
- Staged Apply — apply processing, then scheduler, then full stack
- Amplify Portal — confirm or manually deploy the frontend
- CORS Lockdown — restrict API Gateway CORS to the portal hostname
Verify init succeeded
Section titled “Verify init succeeded”terraform -chdir=terraform versionterraform -chdir=terraform providersBoth commands should exit 0 with provider versions listed.