Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
2afb171
docs: add file retrieval instructions for Claude Code deployment
jwm4 Jun 12, 2026
f01beac
docs: consolidate Claude Code deployment docs and fix settings.json m…
jwm4 Jun 12, 2026
dd00175
docs: simplify vLLM URL placeholder to YOUR_VLLM_ENDPOINT
jwm4 Jun 12, 2026
52f303e
Merge branch 'main' into docs/claude-code-deployment-followup-2
jwm4 Jun 12, 2026
d08de25
docs: fix skills injection, clean up URL placeholders across manifests
jwm4 Jun 12, 2026
914f86b
docs: address CodeRabbit review comments
jwm4 Jun 12, 2026
cb4e7c2
docs: fix Rebuilding the Image instructions for digest-pinned deploym…
jwm4 Jun 12, 2026
a0d1a65
fix: fresh PVC permissions, API key auth loop, and deployment improve…
jwm4 Jun 12, 2026
6443448
docs: add file retrieval instructions for Claude Code deployment
jwm4 Jun 12, 2026
edccb9f
docs: consolidate Claude Code deployment docs and fix settings.json m…
jwm4 Jun 12, 2026
600f0ae
docs: simplify vLLM URL placeholder to YOUR_VLLM_ENDPOINT
jwm4 Jun 12, 2026
5d3ef7a
docs: fix skills injection, clean up URL placeholders across manifests
jwm4 Jun 12, 2026
8208937
docs: address CodeRabbit review comments
jwm4 Jun 12, 2026
49fa196
docs: fix Rebuilding the Image instructions for digest-pinned deploym…
jwm4 Jun 12, 2026
e452dec
fix: fresh PVC permissions, API key auth loop, and deployment improve…
jwm4 Jun 12, 2026
504ba50
Merge remote-tracking branch 'upstream/main' into docs/claude-code-de…
jwm4 Jun 15, 2026
30a6cfd
Merge branch 'docs/claude-code-deployment-followup-2' of https://gith…
jwm4 Jun 15, 2026
7c5d11a
fix: address review comments on Claude Code deployment docs
jwm4 Jun 15, 2026
e2b05c1
Merge remote-tracking branch 'upstream/main' into docs/claude-code-de…
jwm4 Jun 15, 2026
9fc283b
fix: remove stale skills.bak before migration to prevent startup failure
jwm4 Jun 15, 2026
9ea7f9f
fix: use numbered backups for skills migration instead of overwriting
jwm4 Jun 15, 2026
7ac77cc
Merge branch 'main' into docs/claude-code-deployment-followup-2
kami619 Jun 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
991 changes: 991 additions & 0 deletions agents/claude-code/README.md

Large diffs are not rendered by default.

1,103 changes: 12 additions & 1,091 deletions agents/claude-code/deployment/README.md

Large diffs are not rendered by default.

30 changes: 28 additions & 2 deletions agents/claude-code/deployment/deployment-ogx-vllm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,31 @@ spec:
- name: ANTHROPIC_DEFAULT_OPUS_MODEL
value: "vllm/YOUR_MODEL_ID"
# ===========================================
# MLflow Tracing (Optional)
# ===========================================
# Uncomment and configure to enable.
# See the MLflow Tracing section in ../README.md for details.
# - name: MLFLOW_TRACKING_URI
# value: "https://mlflow.<rhoai-namespace>.svc:8443/mlflow"
# - name: MLFLOW_TRACKING_AUTH
# value: "kubernetes-namespaced"
# - name: MLFLOW_WORKSPACE
# value: "<your-namespace>"
# - name: MLFLOW_EXPERIMENT_NAME
# value: "claude-code-traces"
# - name: MLFLOW_TRACKING_INSECURE_TLS
# value: "true"
# ===========================================
# Context Window Configuration (Optional)
# ===========================================
# Uncomment and adjust if your model's context window differs from defaults.
# - name: CLAUDE_CODE_AUTO_COMPACT_WINDOW
# value: "32768"
# - name: CLAUDE_CODE_MAX_OUTPUT_TOKENS
# value: "4000"
# - name: CLAUDE_AUTOCOMPACT_PCT_OVERRIDE
# value: "85"
# ===========================================
# Claude Code Configuration
# ===========================================
- name: MCP_CONFIG_FILE
Expand All @@ -202,9 +227,10 @@ spec:
- name: mcp-config
mountPath: /etc/mcp
readOnly: true
# Mount settings.json to set default model
# Stage settings.json at a read-only path; the entrypoint copies it
# to the writable PVC so mlflow autolog can update it at runtime
- name: claude-settings
mountPath: /workspace/.claude/settings.json
mountPath: /etc/claude-config/settings.json
subPath: settings.json
resources:
requests:
Expand Down
17 changes: 16 additions & 1 deletion agents/claude-code/deployment/deployment-vertex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,21 @@ spec:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: "/var/secrets/google/key.json"
# ===========================================
# MLflow Tracing (Optional)
# ===========================================
# Uncomment and configure to enable.
# See the MLflow Tracing section in ../README.md for details.
# - name: MLFLOW_TRACKING_URI
# value: "https://mlflow.<rhoai-namespace>.svc:8443/mlflow"
# - name: MLFLOW_TRACKING_AUTH
# value: "kubernetes-namespaced"
# - name: MLFLOW_WORKSPACE
# value: "<your-namespace>"
# - name: MLFLOW_EXPERIMENT_NAME
# value: "claude-code-traces"
# - name: MLFLOW_TRACKING_INSECURE_TLS
# value: "true"
# ===========================================
# Claude Code Configuration
# ===========================================
- name: MCP_CONFIG_FILE
Expand All @@ -226,7 +241,7 @@ spec:
mountPath: /var/secrets/google
readOnly: true
- name: claude-settings
mountPath: /workspace/.claude/settings.json
mountPath: /etc/claude-config/settings.json
subPath: settings.json
resources:
requests:
Expand Down
32 changes: 29 additions & 3 deletions agents/claude-code/deployment/deployment-vllm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ spec:
# For internal service: http://vllm-service.namespace.svc.cluster.local
# For external route: https://vllm-route.apps.cluster.domain
- name: ANTHROPIC_BASE_URL
value: YOUR_VLLM_URL
value: "http://YOUR_VLLM_SERVICE.namespace.svc.cluster.local"
# vLLM doesn't validate API keys, but Claude Code requires one
- name: ANTHROPIC_API_KEY
value: "fake"
Expand All @@ -174,6 +174,31 @@ spec:
- name: ANTHROPIC_DEFAULT_OPUS_MODEL
value: "YOUR_MODEL_ID"
# ===========================================
# MLflow Tracing (Optional)
# ===========================================
# Uncomment and configure to enable.
# See the MLflow Tracing section in ../README.md for details.
# - name: MLFLOW_TRACKING_URI
# value: "https://mlflow.<rhoai-namespace>.svc:8443/mlflow"
# - name: MLFLOW_TRACKING_AUTH
# value: "kubernetes-namespaced"
# - name: MLFLOW_WORKSPACE
# value: "<your-namespace>"
# - name: MLFLOW_EXPERIMENT_NAME
# value: "claude-code-traces"
# - name: MLFLOW_TRACKING_INSECURE_TLS
# value: "true"
# ===========================================
# Context Window Configuration (Optional)
# ===========================================
# Uncomment and adjust if your model's context window differs from defaults.
# - name: CLAUDE_CODE_AUTO_COMPACT_WINDOW
# value: "32768"
# - name: CLAUDE_CODE_MAX_OUTPUT_TOKENS
# value: "4000"
# - name: CLAUDE_AUTOCOMPACT_PCT_OVERRIDE
# value: "85"
# ===========================================
# Claude Code Configuration
# ===========================================
- name: MCP_CONFIG_FILE
Expand All @@ -194,9 +219,10 @@ spec:
- name: mcp-config
mountPath: /etc/mcp
readOnly: true
# Mount settings.json to set default model
# Stage settings.json at a read-only path; the entrypoint copies it
# to the writable PVC so mlflow autolog can update it at runtime
- name: claude-settings
mountPath: /workspace/.claude/settings.json
mountPath: /etc/claude-config/settings.json
subPath: settings.json
resources:
requests:
Expand Down
17 changes: 16 additions & 1 deletion agents/claude-code/deployment/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,21 @@ spec:
# value: "https://your-endpoint/v1"
# - name: CLAUDE_MODEL
# value: "your-model"
# ===========================================
# MLflow Tracing (Optional)
# ===========================================
# Uncomment and configure to enable.
# See the MLflow Tracing section in ../README.md for details.
# - name: MLFLOW_TRACKING_URI
# value: "https://mlflow.<rhoai-namespace>.svc:8443/mlflow"
# - name: MLFLOW_TRACKING_AUTH
# value: "kubernetes-namespaced"
# - name: MLFLOW_WORKSPACE
# value: "<your-namespace>"
# - name: MLFLOW_EXPERIMENT_NAME
# value: "claude-code-traces"
# - name: MLFLOW_TRACKING_INSECURE_TLS
# value: "true"
- name: MCP_CONFIG_FILE
value: "/etc/mcp/config.json"
# WARNING: Setting SKIP_PERMISSIONS=true disables all Claude permission checks.
Expand All @@ -185,7 +200,7 @@ spec:
mountPath: /etc/mcp
readOnly: true
- name: claude-settings
mountPath: /workspace/.claude/settings.json
mountPath: /etc/claude-config/settings.json
subPath: settings.json
resources:
requests:
Expand Down
11 changes: 11 additions & 0 deletions agents/claude-code/deployment/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,17 @@ setup_config_dir() {
ln -sfn "${CLAUDE_CONFIG_DIR}" "${home_claude_dir}"
fi

# Copy staged settings.json from ConfigMap mount to writable PVC location.
# ConfigMap subPath mounts are read-only, but mlflow autolog needs to write
# hook configuration into settings.json. Staging at /etc/claude-config/ and
# copying here makes the file writable.
local staged_settings="/etc/claude-config/settings.json"
local target_settings="${CLAUDE_CONFIG_DIR}/settings.json"
if [[ -f "${staged_settings}" ]]; then
cp "${staged_settings}" "${target_settings}"
log_info "Copied settings from ${staged_settings} to ${target_settings}"
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
fi

log_info "Claude config directory: ${CLAUDE_CONFIG_DIR}"
log_info "Symlink: ${home_claude_dir} -> ${CLAUDE_CONFIG_DIR}"
}
Expand Down
Loading