feat: 失敗セッションの調査性を改善(終了Pod保持 + ログAPI + UI)(v2.1.263-d)
セッション Pod がブート失敗で Failed になると reaper が即削除し kubectl logs で 死因を追えなかった。「開く」で 502 になるだけで原因不明だった。 - session.reaper.terminatedRetentionSeconds(既定 900): 終了済み Pod を finishedAt からこの秒数は回収しない。manager 回収ループと reaper CronJob 両方が尊重 - GET /api/sessions/<id>/log: セッション Pod のログを text で返す(pods/log get のみ、追加権限なし) - UI: 「ログ」ボタン、状態の色分け、Failed 行に reason/exitCode/message 併記、 Running 以外は「開く」非表示 - session-entrypoint.sh: URL スキームと identity 型の不一致を警告。 git clone を --progress ... 2>&1 にして git/ssh の出力を Pod ログへ - helm lint / template 検証済み
This commit is contained in:
@@ -57,6 +57,24 @@ Git リポジトリ(GitHub / Gitea など互換 Git 全般)をチェック
|
||||
|
||||
## 改修履歴
|
||||
|
||||
### 失敗セッションの調査性改善(終了 Pod の保持 + ログ API + UI)(2026-09-08, v2.1.263-d)
|
||||
|
||||
**症状**: セッション Pod がブート失敗で `Failed` になると reaper が即削除し、`kubectl logs` で
|
||||
死因を追えない。UI では「開く」で 502 になるだけ。
|
||||
|
||||
**修正内容**:
|
||||
- `session.reaper.terminatedRetentionSeconds`(既定 900)を追加。終了済み Pod を
|
||||
`finishedAt` からこの秒数は残す。`manager.py` の `reap_once` と reaper CronJob の両方が尊重。
|
||||
- `GET /api/sessions/<id>/log`(`k8s_text` で pods/log を text 取得。追加 RBAC 不要)。
|
||||
- UI: 「ログ」ボタン、状態の色分け、`Failed` 行に reason/exitCode/message 併記、
|
||||
`Running` 以外は「開く」非表示。
|
||||
- `session-entrypoint.sh`: URL スキームと identity 型の不一致を警告。`git clone` を
|
||||
`--progress ... 2>&1` にして git/ssh 出力を Pod ログへ。
|
||||
|
||||
**対象ファイル**: `files/manager.py`, `files/session-entrypoint.sh`, `values.yaml`,
|
||||
`values.schema.json`, `templates/deployment.yaml`, `templates/cronjob-reaper.yaml`,
|
||||
`README.md`, `Chart.yaml`, `CHANGELOG-2.1.263-d.md`
|
||||
|
||||
### gateway nginx クラッシュループ修正(location 正規表現のクォート)(2026-09-08, v2.1.263-c)
|
||||
|
||||
**症状**: gateway コンテナが起動直後に
|
||||
|
||||
Reference in New Issue
Block a user