helm --set-file ではなく UI から SSH 秘密鍵 + known_hosts / HTTPS トークンを登録可能に。
- git.guiIdentities.enabled(既定 true)。UI に「認証情報」カード(一覧/追加/削除)
- GET/POST/DELETE /api/identities。登録分はセッション NS の Secret
(ラベル identity-source=gui / identity-type)として保存。Helm 管理分と同一覧に統合
- manager.py: resolve_identity / list_identities / create_gui_identity / delete_gui_identity。
build_pod と create_session は Helm 管理 + GUI 登録の両方を解決。
/api/config の identities を {name,type,source} 配列に変更
- rbac.yaml: guiIdentities.enabled 時のみ manager Role に同 NS secrets の CRUD を付与
- 秘密鍵はリクエストボディで manager へ届くため README に経路 TLS 必須を明記
- helm lint / template 検証済み
1.9 KiB
1.9 KiB
CHANGELOG 2.1.263-f — 手動リリース
追加: GUI からの git identity 登録
Web UI の 「認証情報(identity)」カード から、helm を触らずに SSH 秘密鍵 +
known_hosts / HTTPS トークンを登録・削除できるようにした。
git.guiIdentities.enabled(既定true)- API:
GET /api/identities… Helm 管理 + GUI 登録の identity 一覧({name, type, source})POST /api/identities… 登録({name, type, privateKey, knownHosts}または{name, type, username, token})。sshはknown_hosts必須、秘密鍵の簡易検証あり。 Helm 管理と同名は拒否。既存 GUI 分は置き換え。DELETE /api/identities/<name>… 削除(identity-source=guiのみ。Helm 管理は不可)
- 保存先: セッション NS の Secret。ラベル
claude-code.cafepieters.com/identity-source: gui|helm/claude-code.cafepieters.com/identity-type: ssh|https-tokenで区別。 build_pod/ セッション作成のバリデーションは Helm 管理と GUI 登録の両方を解決する (resolve_identity/list_identities)。/api/configのidentitiesは文字列配列 →{name,type,source}配列に変更。UI も追従。
RBAC
git.guiIdentities.enabled: true のとき、manager Role にセッション NS の
secrets ["get","list","create","update","patch","delete"] を追加(false なら付かない)。
同 NS には Claude 認証情報 Secret も存在するため、不要なら無効化を推奨。
セキュリティ注意
秘密鍵はブラウザ → gateway → manager をリクエストボディで通る。経路の TLS
(Ingress の tls / LB の TLS 終端)を有効にすること。README「git — 接続先と認証
アイデンティティ」に明記。
バージョン
version = 2.1.263-f / appVersion = "2.1.263"。