Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions claudecode/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
appVersion: '2.1.226'
appVersion: '2.1.229'
description: Anthropic's official agentic coding CLI that lives in your terminal
name: claudecode
type: application
version: 0.1.15
version: 0.1.17
21 changes: 6 additions & 15 deletions claudecode/OlaresManifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ metadata:
description: Anthropic's official agentic coding CLI that lives in your terminal
appid: claudecode
title: Claude Code
version: 0.1.15
version: 0.1.17
categories:
- Developer Tools
- Productivity_v112
Expand All @@ -25,7 +25,7 @@ entrances:
openMethod: window
authLevel: internal
spec:
versionName: '2.1.226'
versionName: '2.1.229'
fullDescription: |
**Overview**
Claude Code is Anthropic's official agentic coding tool that lives in your terminal. It understands your codebase, executes routine tasks through natural language, and helps you move fast while staying in flow.
Expand Down Expand Up @@ -54,22 +54,13 @@ spec:
These vars are conditionally injected: blank strings and `false` toggles are *not* placed into the container env, so Claude Code sees them as truly unset (which is required — it treats `CLAUDE_CODE_USE_*` by presence, not value).

upgradeDescription: |
**v0.1.15**
**v0.1.16**

**Claude Code CLI**
- Pin install version from **2.1.191** to **2.1.226** (latest channel; `init-install-claude` uses chart `appVersion`).
- Pin install version from **2.1.226** to **2.1.229** (latest channel; `init-install-claude` uses chart `appVersion`).

**Base image (`beclab/harveyff-claudecode-base:0.5.7`, was 0.5.6)**
- Pre-install **certbot** + `python3-certbot` for Let's Encrypt / custom-domain TLS (same intent as opencode / clawdbot).
- Dockerfile: retry `apt-get update` and relax InRelease validity checks to avoid transient Debian mirror build failures.

**Chart**
- Add `templates/certbot-wrapper.yaml`; `init-chmod-data` seeds `/opt/data/.config/letsencrypt/cli.ini` (RSA; writable config/work/logs under `/opt/data/letsencrypt/*`) and installs `~/.local/bin/certbot` so uid 1000 runs certbot without manual `--config-dir`.
- Bump all deployment image refs to **0.5.7**.

**Upgrade / test**
- PVC and OAuth/API-key settings are preserved; Claude binary re-installs when the version sentinel changes.
- Verified on **olarestest001**: upload upgrade → `running`; `claude --version` → 2.1.226; certbot wrapper on PATH.
**Base image (`beclab/harveyff-claudecode-base:0.5.8`, was 0.5.7)**
- Baked `@olares/cli` upgraded to **1.12.7-cli.0** (from 1.12.6-cli.2).

developer: Anthropic
website: https://code.claude.com
Expand Down
4 changes: 2 additions & 2 deletions claudecode/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# Build & push:
# docker buildx build \
# --platform linux/amd64,linux/arm64 \
# -t beclab/harveyff-claudecode-base:0.5.7 \
# -t beclab/harveyff-claudecode-base:0.5.8 \
# --push .
# syntax=docker/dockerfile:1.7

Expand All @@ -25,7 +25,7 @@
# @olares/cli postinstall downloads the Go binary; copy vendor binary (not JS
# wrapper) so the full verb set is available. skills CLI needs git to clone.
FROM node:24-bookworm-slim AS olares-assets
ARG OLARES_CLI_NPM_VERSION=1.12.6-cli.2
ARG OLARES_CLI_NPM_VERSION=1.12.7-cli.0

RUN set -eux; \
for i in 1 2 3 4 5; do \
Expand Down
4 changes: 2 additions & 2 deletions claudecode/docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ Claude Code bundles its own.

```bash
# Single-arch (local dev)
docker build -t beclab/harveyff-claudecode-base:0.5.7 .
docker build -t beclab/harveyff-claudecode-base:0.5.8 .

# Multi-arch release (recommended, matches chart supportArch)
docker buildx create --use --name claudecode-builder || true
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t beclab/harveyff-claudecode-base:0.5.7 \
-t beclab/harveyff-claudecode-base:0.5.8 \
--push .
```

Expand Down
17 changes: 4 additions & 13 deletions claudecode/i18n/en-US/OlaresManifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,10 @@ spec:

These vars are conditionally injected: blank strings and `false` toggles are *not* placed into the container env, so Claude Code sees them as truly unset (which is required — it treats `CLAUDE_CODE_USE_*` by presence, not value).
upgradeDescription: |
**v0.1.15**
**v0.1.16**

**Claude Code CLI**
- Pin install version from **2.1.191** to **2.1.226** (latest channel; `init-install-claude` uses chart `appVersion`).
- Pin install version from **2.1.226** to **2.1.229** (latest channel; `init-install-claude` uses chart `appVersion`).

**Base image (`beclab/harveyff-claudecode-base:0.5.7`, was 0.5.6)**
- Pre-install **certbot** + `python3-certbot` for Let's Encrypt / custom-domain TLS (same intent as opencode / clawdbot).
- Dockerfile: retry `apt-get update` and relax InRelease validity checks to avoid transient Debian mirror build failures.

**Chart**
- Add `templates/certbot-wrapper.yaml`; `init-chmod-data` seeds `/opt/data/.config/letsencrypt/cli.ini` (RSA; writable config/work/logs under `/opt/data/letsencrypt/*`) and installs `~/.local/bin/certbot` so uid 1000 runs certbot without manual `--config-dir`.
- Bump all deployment image refs to **0.5.7**.

**Upgrade / test**
- PVC and OAuth/API-key settings are preserved; Claude binary re-installs when the version sentinel changes.
- Verified on **olarestest001**: upload upgrade → `running`; `claude --version` → 2.1.226; certbot wrapper on PATH.
**Base image (`beclab/harveyff-claudecode-base:0.5.8`, was 0.5.7)**
- Baked `@olares/cli` upgraded to **1.12.7-cli.0** (from 1.12.6-cli.2).
17 changes: 4 additions & 13 deletions claudecode/i18n/zh-CN/OlaresManifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,10 @@ spec:

上述变量在 chart 中按条件注入:留空字符串或 `false` 时**不会**写入容器环境,Claude Code 会视其为真正"未设置"(必须如此——它对 `CLAUDE_CODE_USE_*` 的判断是按是否存在,而不是按值)。
upgradeDescription: |
**v0.1.15**
**v0.1.16**

**Claude Code CLI**
- 安装版本由 **2.1.191** 升级至 **2.1.226**(latest 通道;`init-install-claude` 使用 chart `appVersion` 拉取)。
- 安装版本由 **2.1.226** 升级至 **2.1.229**(latest 通道;`init-install-claude` 使用 chart `appVersion` 拉取)。

**基础镜像(`beclab/harveyff-claudecode-base:0.5.7`,原 0.5.6)**
- 预装 **certbot** + `python3-certbot`,支持 Let's Encrypt / 自定义域名 TLS(与 opencode / clawdbot 同一套非 root 用法)。
- Dockerfile:`apt-get update` 增加重试并放宽 InRelease 有效期校验,避免 Debian 镜像短暂不同步导致构建失败。

**Chart**
- 新增 `templates/certbot-wrapper.yaml`;`init-chmod-data` 写入 `/opt/data/.config/letsencrypt/cli.ini`(RSA;config/work/logs 位于 `/opt/data/letsencrypt/*`),并将 `~/.local/bin/certbot` 包装脚本安装到 PATH,uid 1000 可直接运行 certbot,无需手动传 `--config-dir`。
- Deployment 中所有 init/主容器镜像统一为 **0.5.7**。

**升级与测试**
- 保留现有 PVC 与 OAuth/API Key 配置;版本 sentinel 变化时会重新安装 Claude 二进制。
- 已在 **olarestest001** 验证:upload 升级 → `running`;`claude --version` → 2.1.226;certbot wrapper 可用。
**基础镜像(`beclab/harveyff-claudecode-base:0.5.8`,原 0.5.7)**
- 镜像内置 `@olares/cli` 升级至 **1.12.7-cli.0**(原 1.12.6-cli.2)。
14 changes: 11 additions & 3 deletions claudecode/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ spec:
- |
set -e
mkdir -p /opt/data/.local/bin /opt/data/.claude/skills /opt/data/.install-state
# PATH prepends ~/.local/bin so a leftover olares-cli there (often a
# symlink into a cloned Olares tree on the PVC) shadows the image
# binary at /usr/local/bin. Relink every start; do not copy the
# ~85MiB binary and do not reorder PATH (npm -g installs must still
# win for tools the image does not ship). Target need not exist in
# this ubuntu init image — it is valid in the main container.
ln -sfn /usr/local/bin/olares-cli /opt/data/.local/bin/olares-cli
echo "[init-chmod-data] ~/.local/bin/olares-cli -> /usr/local/bin/olares-cli"
# certbot (clawdbot-style): non-root defaults under $HOME=/opt/data; Olares TLS needs RSA.
mkdir -p /opt/data/.config/letsencrypt \
/opt/data/letsencrypt/config \
Expand Down Expand Up @@ -71,7 +79,7 @@ spec:
# Flatten Olares skills from /skills-staging into Claude Code's
# user skills dir (~/.claude/skills = /opt/data/.claude/skills).
- name: init-skills
image: "beclab/harveyff-claudecode-base:0.5.7"
image: "beclab/harveyff-claudecode-base:0.5.8"
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0
Expand Down Expand Up @@ -104,7 +112,7 @@ spec:
# only writes under $HOME. A sentinel file makes subsequent
# Pod starts skip the download.
- name: init-install-claude
image: "beclab/harveyff-claudecode-base:0.5.7"
image: "beclab/harveyff-claudecode-base:0.5.8"
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 1000
Expand Down Expand Up @@ -204,7 +212,7 @@ spec:
# login / non-login / interactive / non-interactive shells all
# see the claude binary on PATH.
- name: claudecode
image: "beclab/harveyff-claudecode-base:0.5.7"
image: "beclab/harveyff-claudecode-base:0.5.8"
imagePullPolicy: IfNotPresent
workingDir: /opt/data
securityContext:
Expand Down