Saturn Cloud GCP Example Terraforms
Grant the Saturn service account Owner access to your project:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member="serviceAccount:sce-installer@sce-gcp-manager.iam.gserviceaccount.com" \
--role="roles/owner"
Replace YOUR_PROJECT_ID
with your actual GCP project ID.
Set up authentication for Terraform:
# Login and set default project
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
# Create application default credentials for Terraform
gcloud auth application-default login
Create a GCS bucket to store Terraform state using the impersonated service account:
gcloud storage buckets create gs://your-terraform-state-bucket \
--project=sce-development \
--location=us-central1 \
--uniform-bucket-level-access \
--impersonate-service-account=sce-installer@sce-gcp-manager.iam.gserviceaccount.com
# Optional: Enable versioning
gcloud storage buckets update gs://your-terraform-state-bucket \
--versioning \
--impersonate-service-account=sce-installer@sce-gcp-manager.iam.gserviceaccount.com
Replace your-terraform-state-bucket
with a globally unique bucket name.