diff --git a/automated_ingestion/iac/.terraform.tfstate.lock.info b/automated_ingestion/iac/.terraform.tfstate.lock.info new file mode 100644 index 000000000..b3e86bd78 --- /dev/null +++ b/automated_ingestion/iac/.terraform.tfstate.lock.info @@ -0,0 +1 @@ +{"ID":"dbce0c93-cc58-cb45-fa55-faf792ad5025","Operation":"OperationTypeApply","Info":"","Who":"jakeross@Jakes-MacBook-Pro.local","Version":"1.14.8","Created":"2026-08-19T03:37:52.057173Z","Path":"terraform.tfstate"} \ No newline at end of file diff --git a/automated_ingestion/iac/main.tf b/automated_ingestion/iac/main.tf index e432f1808..47bd0dac3 100644 --- a/automated_ingestion/iac/main.tf +++ b/automated_ingestion/iac/main.tf @@ -30,8 +30,13 @@ locals { resource "google_storage_bucket" "ingestion_raw" { for_each = local.environments - name = "ocotillo-ingestion-${each.key}" - project = var.project_id + name = "ocotillo-ingestion-${each.key}" + project = var.project_id + + # Bucket location is immutable: changing it replaces the bucket. That is + # tolerable only while the raw zone is empty. Once a backfill has landed, + # moving regions means copying objects across and re-pointing the pipeline, + # not editing this line. location = var.bucket_location # The raw zone is the replay source for Mode B backfill: reprocessing a diff --git a/automated_ingestion/iac/variables.tf b/automated_ingestion/iac/variables.tf index d7440af8c..2fae9003a 100644 --- a/automated_ingestion/iac/variables.tf +++ b/automated_ingestion/iac/variables.tf @@ -11,8 +11,8 @@ variable "region" { variable "bucket_location" { type = string - description = "Bucket location. US-CENTRAL1 keeps the raw zone in the same region as Cloud SQL, so replay reads do not cross regions." - default = "US-CENTRAL1" + description = "Bucket location. Must match the Cloud SQL region so replay reads do not cross regions and pay egress. The dataservices instance is in us-west4." + default = "US-WEST4" } variable "cloud_sql_instance" {