spawn/sh/gcp/README.md
A c1363b138c
feat(gcp): default boot disk to 40 GB, configurable via GCP_DISK_SIZE (#2867)
GCP's default 10 GB boot disk is insufficient for coding agents — node_modules,
apt packages, and build caches easily exceed it. Default to 40 GB and allow
override via GCP_DISK_SIZE env var.

Closes #2866

Co-authored-by: Claude <claude@anthropic.com>
2026-03-22 11:21:05 +07:00

93 lines
2 KiB
Markdown

# GCP Compute Engine
Google Cloud Compute Engine instances via gcloud CLI. [GCP Compute Engine](https://cloud.google.com/compute)
> Uses current username for SSH. Requires gcloud CLI installed and configured.
## Agents
#### Claude Code
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
```
#### OpenClaw
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/openclaw.sh)
```
#### ZeroClaw
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/zeroclaw.sh)
```
#### Codex CLI
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/codex.sh)
```
#### OpenCode
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/opencode.sh)
```
#### Kilo Code
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/kilocode.sh)
```
#### Hermes
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/hermes.sh)
```
#### Junie
```bash
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/junie.sh)
```
## Non-Interactive Mode
```bash
GCP_INSTANCE_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
```
## Custom Disk Size
By default, instances are created with a **40 GB** boot disk. Override with `GCP_DISK_SIZE` (in GB):
| Variable | Default | Description |
|---|---|---|
| `GCP_DISK_SIZE` | `40` | Boot disk size in GB |
```bash
GCP_DISK_SIZE=80 \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
```
## Custom VPC / Subnet
If your GCP project's default VPC uses **custom subnet mode** (common in enterprise or org-managed projects), set these env vars to override the default network/subnet:
| Variable | Default | Description |
|---|---|---|
| `GCP_NETWORK` | `default` | VPC network name |
| `GCP_SUBNET` | `default` | Subnet name |
Example:
```bash
GCP_NETWORK=my-vpc GCP_SUBNET=my-subnet \
GCP_INSTANCE_NAME=dev-mk1 \
OPENROUTER_API_KEY=sk-or-v1-xxxxx \
bash <(curl -fsSL https://openrouter.ai/labs/spawn/gcp/claude.sh)
```