Added AI generated scaffold.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# Gemini Enterprise Agent Platform — Terraform Scaffold
|
||||
|
||||
Provisions the infrastructure needed to use the Gemini Enterprise Agent Platform (Vertex AI Agent Engine) on an existing GCP project: required APIs, service accounts, IAM bindings, a GCS artifacts bucket, and an Artifact Registry repository.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Terraform >= 1.5.0
|
||||
- An existing GCP project
|
||||
- `gcloud` CLI authenticated with permissions to enable APIs and manage IAM
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
cp terraform.tfvars.example terraform.tfvars
|
||||
# edit terraform.tfvars — set your project_id
|
||||
|
||||
terraform init
|
||||
terraform plan
|
||||
terraform apply
|
||||
```
|
||||
|
||||
## Variables
|
||||
|
||||
| Name | Required | Default | Description |
|
||||
|---|---|---|---|
|
||||
| `project_id` | yes | — | Existing GCP project ID |
|
||||
| `prefix` | no | `gemini` | Short prefix applied to all resource names |
|
||||
|
||||
## Outputs
|
||||
|
||||
| Name | Description |
|
||||
|---|---|
|
||||
| `project_id` | GCP project ID |
|
||||
| `agent_sa_email` | Runtime service account email (for apps) |
|
||||
| `code_assist_sa_email` | Code Assist enterprise SA email |
|
||||
|
||||
## What gets created
|
||||
|
||||
- **7 GCP APIs** enabled (`aiplatform`, `cloudaicompanion`, `discoveryengine`, `dialogflow`, `secretmanager`, `iam`, `cloudresourcemanager`)
|
||||
- **2 service accounts** — one for app runtime, one for IDE enterprise config
|
||||
- **4 project IAM bindings**
|
||||
|
||||
## Setting up credentials
|
||||
|
||||
Use Application Default Credentials:
|
||||
|
||||
```bash
|
||||
gcloud auth application-default login
|
||||
gcloud config set project <your-project-id>
|
||||
```
|
||||
|
||||
For workloads running on GCP (Cloud Run, GKE, Compute Engine), attach the service account to the resource — no credentials file needed.
|
||||
|
||||
## Granting developer access to Gemini Code Assist
|
||||
|
||||
```bash
|
||||
# Single user
|
||||
gcloud projects add-iam-policy-binding PROJECT_ID \
|
||||
--member="user:YOU@DOMAIN" \
|
||||
--role="roles/cloudaicompanion.user"
|
||||
|
||||
# Google Group (recommended for teams)
|
||||
gcloud projects add-iam-policy-binding PROJECT_ID \
|
||||
--member="group:devs@DOMAIN" \
|
||||
--role="roles/cloudaicompanion.user"
|
||||
```
|
||||
|
||||
## VS Code setup
|
||||
|
||||
1. Install the **Gemini Code Assist** extension from the VS Code Marketplace
|
||||
2. Sign in with a Google account that has `roles/cloudaicompanion.user` on the project
|
||||
3. In Settings, set **Cloud AI Companion: Project** to your `project_id`
|
||||
|
||||
Reference in New Issue
Block a user