locals { terraform_service_account = "terraform@fcuny-homelab.iam.gserviceaccount.com" } provider "google" { alias = "impersonation" scopes = [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/userinfo.email", ] } data "google_service_account_access_token" "default" { provider = google.impersonation target_service_account = local.terraform_service_account scopes = ["userinfo-email", "cloud-platform"] lifetime = "1200s" } provider "google" { project = "fcuny-homelab" region = "us-west1" zone = "us-west1-c" access_token = data.google_service_account_access_token.default.access_token request_timeout = "60s" } terraform { required_providers { buildkite = { source = "buildkite/buildkite" } } backend "gcs" { bucket = "world-tf-state" prefix = "buildkite/state" impersonate_service_account = "terraform@fcuny-homelab.iam.gserviceaccount.com" } } provider "buildkite" { organization = "fcuny-dot-xyz" } resource "buildkite_pipeline" "world" { name = "world" description = "CI pipeline for the world repository." repository = "https://cl.fcuny.net/world" steps = file("./steps.yml") }