feat: credentials 認証モードとトークン自動リフレッシュ CronJob を追加 (v2.1.263-b)
トークンが定期的に失効・ローテーションしても再デプロイ不要にする。 - anthropic.authMode: credentials(新既定) ~/.claude/.credentials.json 全体(refreshToken 込み)を Secret に格納。 セッション Pod にはファイルとしてマウントし $HOME/.claude へコピー(書き込み可)、 セッション内 claude が refreshToken で自己更新 - anthropic.refresher CronJob(credentials 時・既定有効, files/token-refresher.py) Secret 内 refreshToken で OAuth トークンを更新し Secret を書き戻す。 専用 SA + resourceNames 限定 Role で該当 Secret の get/patch のみ。 tokenUrl/clientId は Claude Code CLI の非公式値(values 上書き可) - manager.py build_pod: credentials は envFrom を使わずファイルマウント + SEED_CREDENTIALS_FILE。apiKey/oauth は従来どおり envFrom - Secret に helm.sh/resource-policy: keep(credentials 時)で refresher の書込を保持 - fix: values.schema.json の $schema 行を削除(一部の Helm で "no schema with key or ref https://json-schema.org/draft-07/schema#" エラー) - helm lint / template(credentials/apiKey/oauth)検証済み
This commit is contained in:
@@ -57,6 +57,33 @@ Git リポジトリ(GitHub / Gitea など互換 Git 全般)をチェック
|
||||
|
||||
## 改修履歴
|
||||
|
||||
### 認証情報の credentials モード + トークン自動リフレッシュ(2026-09-08, v2.1.263-b)
|
||||
|
||||
**背景**: サブスクリプションのアクセストークンは定期的に失効・ローテーションする。単発
|
||||
トークン注入では失効のたびに `helm upgrade` が必要だった。
|
||||
|
||||
**症状**: あわせて、一部の Helm バージョンで `values.schema.json` の
|
||||
`$schema: https://json-schema.org/draft-07/schema#` が
|
||||
`no schema with key or ref ...` エラーになる不具合。
|
||||
|
||||
**修正内容**:
|
||||
- `anthropic.authMode: credentials`(新既定): `~/.claude/.credentials.json` 全体を Secret に
|
||||
格納 →(a)セッション Pod にファイルとしてマウントし `$HOME/.claude` へコピー、セッション内
|
||||
`claude` が `refreshToken` で自己更新。(b)`anthropic.refresher` CronJob
|
||||
(`files/token-refresher.py`、専用 SA + `resourceNames` 限定 Role で該当 Secret の get/patch のみ)
|
||||
がクラスタ内で `accessToken` を定期更新し Secret を書き戻す。`tokenUrl` / `clientId` は
|
||||
Claude Code CLI の非公式値で values 上書き可。
|
||||
- `manager.py` の `build_pod`: credentials モードは `envFrom` を使わずファイルマウント +
|
||||
`SEED_CREDENTIALS_FILE` env。apiKey/oauth は従来どおり `envFrom`。
|
||||
- Secret に `helm.sh/resource-policy: keep`(credentials 時)。
|
||||
- `values.schema.json` の `$schema` 行を削除(他チャートと同じ。Helm は draft-07 で検証)。
|
||||
|
||||
**対象ファイル**: `values.yaml`, `values.schema.json`, `templates/secret-anthropic.yaml`,
|
||||
`templates/deployment.yaml`, `templates/configmap-manager.yaml`, `templates/token-refresher.yaml`(新規),
|
||||
`templates/NOTES.txt`, `files/manager.py`, `files/session-entrypoint.sh`,
|
||||
`files/token-refresher.py`(新規), `examples/loadbalancer-oauth.values.yaml`, `README.md`,
|
||||
`Chart.yaml`, `CHANGELOG-2.1.263-b.md`
|
||||
|
||||
### Service の LoadBalancer 対応 + サブスクリプション認証手順の明文化(2026-09-08, v2.1.263-a)
|
||||
|
||||
**背景**: Ingress を張らずに、ローカルネットワークの LB(kube-vip 等)から払い出した IP で
|
||||
|
||||
Reference in New Issue
Block a user