Terraform Installation
GenMedia Creative Studio can be easily deployed to Google Cloud using the provided Terraform configuration.
Prerequisites
Section titled “Prerequisites”- Terraform installed
- Google Cloud SDK (gcloud) installed
Deployment Steps
Section titled “Deployment Steps”gcloud auth application-default loginterraform initterraform planterraform applyDeploying to multiple projects / environments
Section titled “Deploying to multiple projects / environments”Service accounts are created at project scope, so the same account_id (e.g., service-creative-studio) yields a distinct SA per project — there is no cross-project name collision at the GCP level. What must be isolated is Terraform state.
The GCS backend in backend.tf uses a fixed prefix = "creative-studio/prod". If you reuse the same state bucket and prefix for two projects, both deployments share state and one will apply against the other project’s resources (for example, an iam.serviceaccounts.actAs denial referencing an SA in a different project).
To deploy into multiple projects, isolate the state per environment using any one of:
- A different state bucket per project (
terraform init -backend-config="bucket=..."), or - A different
prefixper project (terraform init -backend-config="prefix=creative-studio/<env>"), or - Separate Terraform workspaces (
terraform workspace new <env>).