Network and five buckets
With the APIs on, the CLI provisions the data plane and runtime identity:
- A custom-mode VPC with one explicitly named regional subnet and private Google access. The deployment's GKE cluster is pinned to both names.
- Five private Cloud Storage buckets, all uniform bucket-level access:
-assets(marketing objects served through the same-origin/assets/*application route),-documents(client documents),-exports(Parquet/Iceberg archives),-logs(the Nearline log-sink destination), and-applications(each Project's published client-portal bundle, streamed same-origin through/app/projects/{code}/portal). - A deployment-specific Google service account with the Secret Manager accessor role, object access on only that
deployment's five buckets, Workload Identity bindings for the namespace's
navigator-webandworkflows-serviceKubernetes service accounts, and permission to sign its own GCS URLs. - A separate Workspace Drive service account with no runtime GCP roles. An operator creates one JSON key, records it
in that deployment's
secrets.enc.yaml, and grants its OAuth client domain-wide delegation in the selected Workspace.