# How do I set up the GCP project for Applane?

> Four ways to prepare the project: Cloud Shell, Infrastructure Manager, Terraform or a script. Each enables five APIs, grants one role, adds a budget alert.

Source: https://docs.applane.dev/gcp-admins/setup/

**Who:** GCP admin  
**Time:** 10 minutes with any option

Every option enables the five APIs, grants `roles/aiplatform.user` to the builders group, and optionally creates a budget alert. All are add-only: nothing existing is changed or removed, and running one twice is safe.

| Option | Pick it when | Needs |
|---|---|---|
| [Open in Cloud Shell](https://docs.applane.dev/gcp-admins/setup/cloud-shell/) | You want a one-off by hand with nothing installed. A guided panel in your browser. | A browser and project rights. |
| [Infrastructure Manager](https://docs.applane.dev/gcp-admins/setup/infrastructure-manager/) | The project should be Terraform-managed but nobody wants to run Terraform from a laptop. Google runs it and keeps the state. | `gcloud`, `roles/config.admin`. |
| [Terraform](https://docs.applane.dev/gcp-admins/setup/terraform/) | The project's APIs and IAM already live in your own Terraform. A resource created by hand shows up as drift on the next plan. | Terraform 1.15+, provider `hashicorp/google` 6.x. |
| [Script](https://docs.applane.dev/gcp-admins/setup/script/) | `gcloud` is already signed in as an owner or editor. Prints every command before running it; `--dry-run` first. | `gcloud` 400+, bash 3.2+. |

Two steps stay manual whatever you pick, because Google has no API for them: the [OAuth consent screen](https://docs.applane.dev/gcp-admins/oauth-consent-screen/) and the [OAuth client](https://docs.applane.dev/gcp-admins/oauth-client/). They take five minutes in the Cloud console, and every option prints the instructions when it finishes.

Before you start, have these values ready:

| Value | Where it comes from |
|---|---|
| `<GCP_PROJECT_ID>` | The project. See [Prerequisites](https://docs.applane.dev/gcp-admins/prerequisites/). |
| `applane-builders@<YOUR_DOMAIN>` | The builders group. The Workspace admin creates it: [Accounts and groups](https://docs.applane.dev/workspace-admins/accounts-and-groups/). |
| `<APPLANE_EXTENSION_ID>` | Shown in the Applane console under Setup. Only used to print the redirect URI. |
| `<BILLING_ACCOUNT_ID>` | Optional, for the budget alert. `gcloud billing projects describe <GCP_PROJECT_ID> --format='value(billingAccountName)'` |
