Skip to content

Environment Setup

Duration: 45 minutes (10 min presentation + 15 min verification + 20 min new setup)

Everything from Day 1 forward depends on having a working environment. Complete each section in order.


Part 1: What You Should Already Have

These were in the pre-work. Verify each one actually works right now — don't assume.

Claude Code + Vertex AI CRITICAL

You need Claude Code connected to our Vertex AI endpoint. This is your lab companion for the entire week.

Full setup guide: Claude Code Onboarding Guide

Verify:

bash
claude --version

Should return a version number. If command not found, you need to install Claude Code first.

Verify Vertex connection:

bash
claude

Start a session and submit any prompt. If Claude responds, your Vertex connection is working.

Two-Project Configuration

There are two different GCP projects involved. Don't mix them up:

SettingProjectPurpose
ADC quota projectYour own project (e.g., syoungberg-prod)Bills API quota against your lab project
Claude Code Vertex project (ANTHROPIC_VERTEX_PROJECT_ID)coe-airs-vertexShared CoE endpoint where Claude models are enabled

GCP Authentication (ADC)

bash
# Re-authenticate with GCP
gcloud auth login
gcloud auth application-default login

# Set your default project to YOUR lab project
gcloud config set project <your-project-id>

# Set ADC quota project to YOUR lab project (NOT coe-airs-vertex)
gcloud auth application-default set-quota-project <your-project-id>

Claude Code Environment Variables

Add these to your shell profile (~/.zshrc or ~/.bashrc):

bash
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=coe-airs-vertex

Then reload your shell:

bash
source ~/.zshrc   # or source ~/.bashrc

Verify in a new terminal:

bash
echo $CLAUDE_CODE_USE_VERTEX       # should print: 1
echo $CLOUD_ML_REGION              # should print: global
echo $ANTHROPIC_VERTEX_PROJECT_ID  # should print: coe-airs-vertex

VS Code Tip

The VS Code Claude Code extension auth flow can be finicky. Use Claude Code from the VS Code integrated terminal instead — your shell environment variables carry through.

YOLO Mode

During labs, skip permission prompts with claude --dangerously-skip-permissions. Only use this in lab/dev environments.


GCP Project with Billing CRITICAL

You need a GCP project with an active billing account.

Creating a New GCP Project

  1. Open Google Cloud Console
  2. Click New Project and configure:
    • Project name: <your-panw-username>-prod (e.g., syoungberg-prod)
    • Organization: global-test-panw.com
    • Location/Folder: global-test-panw.comgcp-gcp-labcoeairs-workshop
  3. Click Create and note your Project ID

Linking a Billing Account

Billing is managed through the internal CloudOps Self-Service Portal (requires GlobalProtect VPN).

  1. Go to the CloudOps Self-Service Portal
  2. Click the Google Cloud card
  3. Select Billing RequestLink Project with Billing Account
  4. Paste your Project ID and click Link Billing
  5. Wait for confirmation — CloudOpsBot will notify you via Slack within 1-2 minutes

Verify Your Project

bash
gcloud config set project YOUR_PROJECT_ID
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
gcloud billing projects describe YOUR_PROJECT_ID --format="value(billingEnabled)"

Enable Required APIs

bash
gcloud services enable \
  aiplatform.googleapis.com \
  run.googleapis.com \
  cloudbuild.googleapis.com

Part 2: New Setup for This Week

Work through these in order. Priority: Claude Code > GCP > git/gh.

Step 1: git + gh CLI REQUIRED

Verify git:

bash
git --version
git config user.name
git config user.email

All three should return values. If user.name or user.email are blank:

bash
git config --global user.name "Your Name"
git config --global user.email "your.email@paloaltonetworks.com"

Verify gh:

bash
gh --version
gh auth status

If not authenticated:

bash
gh auth login
# Select: GitHub.com → HTTPS → Login with a web browser

Step 2: Join the Lab GitHub Org REQUIRED

Our lab repos are in the airs-labs GitHub org. Submit your GitHub username using the method Berg provides.

bash
# Accept invitation via CLI
gh api --method PATCH /user/memberships/orgs/airs-labs -f state=active

# Verify access
gh repo view airs-labs/vertex-ai-search-context7 --json name,visibility

Step 3: Set Up vertex-search MCP REQUIRED

This is our workaround for corporate fetch/web search restrictions.

Prerequisites: Bun 1.3.x or later.

bash
curl -fsSL https://bun.sh/install | bash
bash
gh repo clone airs-labs/vertex-ai-search-context7 ~/vertex-ai-search-mcp
cd ~/vertex-ai-search-mcp
bun install

Add to ~/.claude.json:

json
{
  "mcpServers": {
    "vertex-search": {
      "command": "bun",
      "args": ["run", "/Users/YOU/vertex-ai-search-mcp/src/index.ts"],
      "env": {
        "GOOGLE_CLOUD_PROJECT": "coe-airs-vertex"
      }
    }
  }
}

Replace /Users/YOU/ with your actual home directory path.


Step 4: Model Security Lab Prep REQUIRED for Mon PM

Python 3.10+ with uv:

bash
python3 --version
curl -LsSf https://astral.sh/uv/install.sh | sh
uv --version

Docker Desktop:

bash
docker --version

Docker is needed for Day 2 (containerizing and deploying models to Cloud Run).


Step 5: Have Claude Code Verify Your Setup REQUIRED

Open Claude Code and paste this prompt:

Verify my workshop environment is ready. Check:
1. Can you access GCP? Try listing projects.
2. Is git configured with a username and email?
3. Is gh CLI authenticated? What org memberships do I have?
4. Can you use the vertex-search MCP to run a test query?
5. Is Python 3.10+ installed? Is uv available?
6. Is Docker installed and running?
7. Summarize: what is working and what is not?

Step 6: Help Your Neighbor

Done early? Look around. If someone near you is stuck, help them out. Teaching is the fastest way to learn.


Quick Reference

ItemRequired ByPriority
Claude Code + VertexNowCRITICAL
GCP Project + BillingNowCRITICAL
git + gh CLINowCRITICAL
Lab org membershipNowCRITICAL
vertex-search MCPNowHIGH
Python 3.10+ + uvMon PM (Module 1.8)HIGH
Docker DesktopTue (Module 2.2)HIGH
n8n instanceWed (Module 3.4)OPTIONAL

Troubleshooting

Claude Code / Vertex Authentication

bash
gcloud auth login
gcloud auth application-default login
gcloud auth application-default set-quota-project coe-airs-vertex
gcloud config set project coe-airs-vertex
gcloud services list --enabled | grep aiplatform

Corporate Proxy Issues

bash
git config --global http.proxy http://your-proxy:port
git config --global https.proxy https://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port

Windows PATH Issues

Close and reopen your terminal after installing any tool. Common missing paths:

  • Claude Code: check installer output
  • gh: typically C:\Program Files\GitHub CLI\
  • gcloud: typically C:\Users\<you>\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin

Built with Claude Code