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:
claude --versionShould return a version number. If command not found, you need to install Claude Code first.
Verify Vertex connection:
claudeStart 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:
| Setting | Project | Purpose |
|---|---|---|
| ADC quota project | Your own project (e.g., syoungberg-prod) | Bills API quota against your lab project |
Claude Code Vertex project (ANTHROPIC_VERTEX_PROJECT_ID) | coe-airs-vertex | Shared CoE endpoint where Claude models are enabled |
GCP Authentication (ADC)
# 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):
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=global
export ANTHROPIC_VERTEX_PROJECT_ID=coe-airs-vertexThen reload your shell:
source ~/.zshrc # or source ~/.bashrcVerify in a new terminal:
echo $CLAUDE_CODE_USE_VERTEX # should print: 1
echo $CLOUD_ML_REGION # should print: global
echo $ANTHROPIC_VERTEX_PROJECT_ID # should print: coe-airs-vertexVS 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
- Open Google Cloud Console
- 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.com→gcp-gcp-lab→coe→airs-workshop
- Project name:
- Click Create and note your Project ID
Linking a Billing Account
Billing is managed through the internal CloudOps Self-Service Portal (requires GlobalProtect VPN).
- Go to the CloudOps Self-Service Portal
- Click the Google Cloud card
- Select Billing Request → Link Project with Billing Account
- Paste your Project ID and click Link Billing
- Wait for confirmation — CloudOpsBot will notify you via Slack within 1-2 minutes
Verify Your Project
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
gcloud services enable \
aiplatform.googleapis.com \
run.googleapis.com \
cloudbuild.googleapis.comPart 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:
git --version
git config user.name
git config user.emailAll three should return values. If user.name or user.email are blank:
git config --global user.name "Your Name"
git config --global user.email "your.email@paloaltonetworks.com"Verify gh:
gh --version
gh auth statusIf not authenticated:
gh auth login
# Select: GitHub.com → HTTPS → Login with a web browserStep 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.
# 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,visibilityStep 3: Set Up vertex-search MCP REQUIRED
This is our workaround for corporate fetch/web search restrictions.
Prerequisites: Bun 1.3.x or later.
curl -fsSL https://bun.sh/install | bashgh repo clone airs-labs/vertex-ai-search-context7 ~/vertex-ai-search-mcp
cd ~/vertex-ai-search-mcp
bun installAdd to ~/.claude.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:
python3 --version
curl -LsSf https://astral.sh/uv/install.sh | sh
uv --versionDocker Desktop:
docker --versionDocker 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
| Item | Required By | Priority |
|---|---|---|
| Claude Code + Vertex | Now | CRITICAL |
| GCP Project + Billing | Now | CRITICAL |
| git + gh CLI | Now | CRITICAL |
| Lab org membership | Now | CRITICAL |
| vertex-search MCP | Now | HIGH |
| Python 3.10+ + uv | Mon PM (Module 1.8) | HIGH |
| Docker Desktop | Tue (Module 2.2) | HIGH |
| n8n instance | Wed (Module 3.4) | OPTIONAL |
Troubleshooting
Claude Code / Vertex Authentication
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 aiplatformCorporate Proxy Issues
git config --global http.proxy http://your-proxy:port
git config --global https.proxy https://your-proxy:port
export HTTPS_PROXY=http://your-proxy:portWindows 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