Sign inSign up

sbx/claude-vertex-mixin:latest

Multi-platform
Manifest digest

sha256:5e43de99d2e897d0585c2645318630b21e777bf6fab452df8b7e045bccdd34c7

Last pushed

about 6 hours by sbx

Type

Sandbox Kit

Manifest digest

sha256:5e43de99d2e897d0585c2645318630b21e777bf6fab452df8b7e045bccdd34c7

yaml
schemaVersion: "3"
displayName: Claude Code on Vertex AI (mixin)
description: Routes Claude Code at Claude on Google Vertex AI with the Application Default Credentials stored under the vertex credential. Layer it onto the claude workload.
version: 1.0.0
kind: mixin
provides:
    - claude-vertex
requires:
    - claude
    - deb/jq
capabilities:
    - type: com.docker.sandbox/network-policy@1
      config:
        runtime:
            allow:
                - aiplatform.googleapis.com
                - oauth2.googleapis.com
    - type: com.docker.sandbox/credential@1
      config:
        oauth:
            credentialFile:
                path: ~/.config/gcloud/application_default_credentials.json
                structure:
                    client_id: 764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com
                    client_secret: d-FL95Q19q7MQmFpd7hHD0Ty
                    refresh_token: '{{.RefreshToken}}'
                    type: authorized_user
            resourceHosts:
                - aiplatform.googleapis.com
            sentinels:
                accessToken: ya29.sbx-vertex-access-managed-by-proxy
                refreshToken: 1//sbx-vertex-refresh-managed-by-proxy
            tokenEndpoint:
                host: oauth2.googleapis.com
                path: /token
        phase: runtime
        service: vertex
      description: Google Application Default Credentials for Vertex AI
    - type: com.docker.sandbox/lifecycle@1
      config:
        install:
            - command: |
                set -e
                cfg=/home/agent/.claude/settings.json
                mkdir -p "$(dirname "$cfg")"
                [ -s "$cfg" ] || echo '{}' > "$cfg"
                jq '.apiKeyHelper = "echo proxy-managed"' "$cfg" > "$cfg.tmp"
                mv "$cfg.tmp" "$cfg"
              description: Add apiKeyHelper to Claude's settings.json
              user: agent
    - type: com.docker.sandbox/agent-context@1
      config:
        contentFile: /usr/share/sandbox/kit/claude-vertex-mixin/claude-vertex-mixin-context.md
args:
    vertex_project:
        required: true
        description: Google Cloud project that hosts the Vertex AI models
        env: ANTHROPIC_VERTEX_PROJECT_ID
    vertex_region:
        default: global
        description: Vertex AI region
        env: CLOUD_ML_REGION