feat: git identity を Web UI から登録・削除できるようにする (v2.1.263-f)
Helm Chart Release / release-chart (push) Successful in 7s
Build Session Image / build-push (push) Successful in 2m5s

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 検証済み
This commit is contained in:
2026-09-09 12:47:50 +09:00
parent 6514747b4e
commit c31dd5875c
10 changed files with 345 additions and 15 deletions
+14 -1
View File
@@ -216,8 +216,21 @@ git:
defaultAuthorName: "Claude"
defaultAuthorEmail: "claude@cafepieters.com"
# 認証アイデンティティ。セッション作成時に名前で選択する。
# GUI(Web UI)からの認証情報 identity 登録を許可する。
# 有効にすると、UI の「認証情報」カードから SSH 秘密鍵 + known_hosts / HTTPS トークンを
# 登録・削除できる。登録内容はセッション NS の Secret として保存される。
# トレードオフ:
# - manager にセッション NS の secrets への get/list/create/update/delete 権限が付く
# (同 NS には Claude 認証情報 Secret も存在する点に留意)。
# - 秘密鍵はブラウザ→gateway→manager をリクエストボディで通る。経路の TLS
# (Ingress の tls / LB の TLS 終端)を必ず有効にすること。
# 下の git.identities(Helm 管理)は常に読み取り専用で UI に表示される。
guiIdentities:
enabled: true
# 認証アイデンティティ(Helm 管理)。セッション作成時に名前で選択する。
# GitHub / Gitea / GitLab など SSH または HTTPS トークンで認証する任意のホストに対応。
# GUI から登録したものと合わせて使える(同名は不可)。
identities: {}
# gitea-ssh:
# type: ssh # ssh | https-token