Files
claude-code/templates/NOTES.txt
T
claude 528a48b667
Helm Chart Release / release-chart (push) Successful in 9s
Build Session Image / build-push (push) Successful in 2m8s
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)検証済み
2026-09-08 15:18:21 +09:00

72 lines
3.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
claude-code ({{ .Chart.Version }}) をデプロイしました。
制御プレーン : {{ include "claude-code.fullname" . }} (namespace: {{ .Release.Namespace }})
セッション NS : {{ include "claude-code.sessionsNamespace" . }}
セッション像 : {{ .Values.image.session.registry }}/{{ .Values.image.session.repository }}:{{ .Values.image.session.tag }}
認証モード : {{ .Values.auth.mode }}
アイドル破棄 : {{ .Values.session.idleTimeoutSeconds }}s / 最大寿命 {{ .Values.session.maxLifetimeSeconds }}s / 同時 {{ .Values.session.maxSessions }}
アクセス方法:
{{- if .Values.ingress.enabled }}
{{- range .Values.ingress.hosts }}
https://{{ .host }}/
{{- end }}
{{- end }}
{{- if eq .Values.service.type "LoadBalancer" }}
ロードバランサーの IP を確認してブラウザで開いてください:
kubectl -n {{ .Release.Namespace }} get svc {{ include "claude-code.fullname" . }} -w
→ http://<EXTERNAL-IP>:{{ .Values.service.port }}/
{{- with .Values.service.loadBalancerSourceRanges }}
(接続元は {{ join ", " . }} に制限されています)
{{- end }}
{{- else if not .Values.ingress.enabled }}
kubectl -n {{ .Release.Namespace }} port-forward svc/{{ include "claude-code.fullname" . }} 8080:{{ .Values.service.port }}
→ http://localhost:8080/
{{- end }}
{{- if eq .Values.auth.mode "token" }}
アクセストークンの取得:
kubectl -n {{ .Release.Namespace }} get secret {{ include "claude-code.authSecretName" . }} \
-o jsonpath='{.data.{{ .Values.auth.token.existingSecretKey | default "token" }}}' | base64 -d ; echo
UI の「アクセストークン」欄に貼り付けるか、`?token=<TOKEN>` を付けて開いてください。
{{- else if eq .Values.auth.mode "basic" }}
Basic 認証のユーザーでログインしてください。
{{- else if eq .Values.auth.mode "forward" }}
外部認証プロキシ({{ .Values.auth.forward.url }})経由でログインしてください。
{{- else }}
⚠ auth.mode=none — 認証なしで公開されています。信頼済みネットワーク限定で使用してください。
{{- end }}
認証方式 : anthropic.authMode = {{ .Values.anthropic.authMode }}
{{- if and (eq .Values.anthropic.authMode "credentials") .Values.anthropic.refresher.enabled }}
トークン更新: refresher CronJob({{ .Values.anthropic.refresher.schedule }})が Secret を自動更新
{{- end }}
{{- if and (not .Values.anthropic.existingSecret) (not .Values.anthropic.apiKey) (not .Values.anthropic.oauthToken) (not .Values.anthropic.credentialsJson) }}
⚠ Claude Code の認証情報が未設定です(anthropic.apiKey / oauthToken / credentialsJson / existingSecret のいずれも空)。
セッション内の `claude` は認証に失敗します。credentials モードなら:
--set-file anthropic.credentialsJson=$HOME/.claude/.credentials.json
で再適用してください(helm upgrade)。
{{- end }}
{{- if not .Values.git.identities }}
⚠ git.identities が未設定です。公開リポジトリの clone のみ可能です。
GitHub / Gitea へ push するには values に SSH 鍵か HTTPS トークンを登録してください(README 参照)。
{{- end }}
使い方:
1. UI で「リポジトリ URL」「ブランチ」「認証 identity」を指定してセッション作成
2. 一覧の「開く」でブラウザ内ターミナル(Claude Code)に接続
3. セッション内で `claude-verify` / `claude-push` が利用可能
4. 無操作 {{ .Values.session.idleTimeoutSeconds }}s でセッション(Pod)は自動破棄されます
許可された Git ホスト: {{ join ", " .Values.git.allowedHosts }}
{{- if .Values.git.allowArbitraryRepos }}
(allowArbitraryRepos=true のため任意ホストを許可)
{{- end }}