mirror of
https://github.com/coder/registry.git
synced 2026-06-02 20:48:14 +00:00
docs: add usage examples for bedrock and vertex (#431)
Closes # ## Description Adds Usage Examples for Vertex and Bedrock as described in the linked documentation. ## Type of Change - [ ] New module - [ ] Bug fix - [ ] Feature/enhancement - [X] Documentation - [ ] Other ## Module Information <!-- Delete this section if not applicable --> **Path:** `registry/coder/modules/claude-code` **New version:** `v3.0.1` **Breaking change:** [ ] Yes [X] No ## Testing & Validation - [X] Tests pass (`bun test`) - [X] Code formatted (`bun run fmt`) - [ ] Changes tested locally ## Related Issues <!-- Link related issues or write "None" if not applicable -->
This commit is contained in:
@@ -13,7 +13,7 @@ Run the [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude
|
|||||||
```tf
|
```tf
|
||||||
module "claude-code" {
|
module "claude-code" {
|
||||||
source = "registry.coder.com/coder/claude-code/coder"
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
version = "3.1.0"
|
version = "3.1.1"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
workdir = "/home/coder/project"
|
workdir = "/home/coder/project"
|
||||||
claude_api_key = "xxxx-xxxxx-xxxx"
|
claude_api_key = "xxxx-xxxxx-xxxx"
|
||||||
@@ -49,7 +49,7 @@ data "coder_parameter" "ai_prompt" {
|
|||||||
|
|
||||||
module "claude-code" {
|
module "claude-code" {
|
||||||
source = "registry.coder.com/coder/claude-code/coder"
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
version = "3.1.0"
|
version = "3.1.1"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
workdir = "/home/coder/project"
|
workdir = "/home/coder/project"
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ Run and configure Claude Code as a standalone CLI in your workspace.
|
|||||||
```tf
|
```tf
|
||||||
module "claude-code" {
|
module "claude-code" {
|
||||||
source = "registry.coder.com/coder/claude-code/coder"
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
version = "3.1.0"
|
version = "3.1.1"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
workdir = "/home/coder"
|
workdir = "/home/coder"
|
||||||
install_claude_code = true
|
install_claude_code = true
|
||||||
@@ -108,13 +108,168 @@ variable "claude_code_oauth_token" {
|
|||||||
|
|
||||||
module "claude-code" {
|
module "claude-code" {
|
||||||
source = "registry.coder.com/coder/claude-code/coder"
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
version = "3.0.3"
|
version = "3.1.1"
|
||||||
agent_id = coder_agent.example.id
|
agent_id = coder_agent.example.id
|
||||||
workdir = "/home/coder/project"
|
workdir = "/home/coder/project"
|
||||||
claude_code_oauth_token = var.claude_code_oauth_token
|
claude_code_oauth_token = var.claude_code_oauth_token
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Usage with AWS Bedrock
|
||||||
|
|
||||||
|
#### Prerequisites
|
||||||
|
|
||||||
|
AWS account with Bedrock access, Claude models enabled in Bedrock console, appropriate IAM permissions.
|
||||||
|
|
||||||
|
Configure Claude Code to use AWS Bedrock for accessing Claude models through your AWS infrastructure.
|
||||||
|
|
||||||
|
```tf
|
||||||
|
resource "coder_env" "bedrock_use" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "CLAUDE_CODE_USE_BEDROCK"
|
||||||
|
value = "1"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "aws_region" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "AWS_REGION"
|
||||||
|
value = "us-east-1" # Choose your preferred region
|
||||||
|
}
|
||||||
|
|
||||||
|
# Option 1: Using AWS credentials
|
||||||
|
|
||||||
|
variable "aws_access_key_id" {
|
||||||
|
type = string
|
||||||
|
description = "Your AWS access key ID. Create this in the AWS IAM console under 'Security credentials'."
|
||||||
|
sensitive = true
|
||||||
|
value = "xxxx-xxx-xxxx"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "aws_secret_access_key" {
|
||||||
|
type = string
|
||||||
|
description = "Your AWS secret access key. This is shown once when you create an access key in the AWS IAM console."
|
||||||
|
sensitive = true
|
||||||
|
value = "xxxx-xxx-xxxx"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "aws_access_key_id" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "AWS_ACCESS_KEY_ID"
|
||||||
|
value = var.aws_access_key_id
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "aws_secret_access_key" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "AWS_SECRET_ACCESS_KEY"
|
||||||
|
value = var.aws_secret_access_key
|
||||||
|
}
|
||||||
|
|
||||||
|
# Option 2: Using Bedrock API key (simpler)
|
||||||
|
|
||||||
|
variable "aws_bearer_token_bedrock" {
|
||||||
|
type = string
|
||||||
|
description = "Your AWS Bedrock bearer token. This provides access to Bedrock without needing separate access key and secret key."
|
||||||
|
sensitive = true
|
||||||
|
value = "xxxx-xxx-xxxx"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "bedrock_api_key" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "AWS_BEARER_TOKEN_BEDROCK"
|
||||||
|
value = var.aws_bearer_token_bedrock
|
||||||
|
}
|
||||||
|
|
||||||
|
module "claude-code" {
|
||||||
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
|
version = "3.1.1"
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
workdir = "/home/coder/project"
|
||||||
|
model = "global.anthropic.claude-sonnet-4-5-20250929-v1:0"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> For additional Bedrock configuration options (model selection, token limits, region overrides, etc.), see the [Claude Code Bedrock documentation](https://docs.claude.com/en/docs/claude-code/amazon-bedrock).
|
||||||
|
|
||||||
|
### Usage with Google Vertex AI
|
||||||
|
|
||||||
|
#### Prerequisites
|
||||||
|
|
||||||
|
GCP project with Vertex AI API enabled, Claude models enabled through Model Garden, service account with Vertex AI permissions, appropriate IAM permissions (Vertex AI User role).
|
||||||
|
|
||||||
|
Configure Claude Code to use Google Vertex AI for accessing Claude models through Google Cloud Platform.
|
||||||
|
|
||||||
|
```tf
|
||||||
|
variable "vertex_sa_json" {
|
||||||
|
type = string
|
||||||
|
description = "The complete JSON content of your Google Cloud service account key file. Create a service account in the GCP Console under 'IAM & Admin > Service Accounts', then create and download a JSON key. Copy the entire JSON content into this variable."
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "vertex_use" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "CLAUDE_CODE_USE_VERTEX"
|
||||||
|
value = "1"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "vertex_project_id" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "ANTHROPIC_VERTEX_PROJECT_ID"
|
||||||
|
value = "your-gcp-project-id"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "cloud_ml_region" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "CLOUD_ML_REGION"
|
||||||
|
value = "global"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "vertex_sa_json" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "VERTEX_SA_JSON"
|
||||||
|
value = var.vertex_sa_json
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_env" "google_application_credentials" {
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
name = "GOOGLE_APPLICATION_CREDENTIALS"
|
||||||
|
value = "/tmp/gcp-sa.json"
|
||||||
|
}
|
||||||
|
|
||||||
|
module "claude-code" {
|
||||||
|
source = "registry.coder.com/coder/claude-code/coder"
|
||||||
|
version = "3.1.1"
|
||||||
|
agent_id = coder_agent.example.id
|
||||||
|
workdir = "/home/coder/project"
|
||||||
|
model = "claude-sonnet-4@20250514"
|
||||||
|
|
||||||
|
pre_install_script = <<-EOT
|
||||||
|
#!/bin/bash
|
||||||
|
# Write the service account JSON to a file
|
||||||
|
echo "$VERTEX_SA_JSON" > /tmp/gcp-sa.json
|
||||||
|
|
||||||
|
# Install prerequisite packages
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y apt-transport-https ca-certificates gnupg curl
|
||||||
|
|
||||||
|
# Add Google Cloud public key
|
||||||
|
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
|
||||||
|
|
||||||
|
# Add Google Cloud SDK repo to apt sources
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list
|
||||||
|
|
||||||
|
# Update and install the Google Cloud SDK
|
||||||
|
sudo apt-get update && sudo apt-get install -y google-cloud-cli
|
||||||
|
|
||||||
|
# Authenticate gcloud with the service account
|
||||||
|
gcloud auth activate-service-account --key-file=/tmp/gcp-sa.json
|
||||||
|
EOT
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> For additional Vertex AI configuration options (model selection, token limits, region overrides, etc.), see the [Claude Code Vertex AI documentation](https://docs.claude.com/en/docs/claude-code/google-vertex-ai).
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
If you encounter any issues, check the log files in the `~/.claude-module` directory within your workspace for detailed information.
|
If you encounter any issues, check the log files in the `~/.claude-module` directory within your workspace for detailed information.
|
||||||
|
|||||||
Reference in New Issue
Block a user