feat: リポジトリ URL バリデーションを緩和しエラー文言を具体化 (v2.1.263-e)
Helm Chart Release / release-chart (push) Failing after 9s
Build Session Image / build-push (push) Successful in 2m9s

claude@host:path のような SSH ユーザー違いの URL が「形式が不正」で弾かれ
原因が分かりにくかった。Gitea/GitHub の SSH ユーザーは常に git。

- REPO_RE を ssh://<user>@host/… / <user>@host:path / host:path も受理するよう緩和
  (// 始まりは拒否、ホスト allowlist は全形式に適用)
- URL 形式エラーで受理形式と「SSH ユーザーは常に git」を明記、
  ホスト不許可で許可済み一覧を併記
- UI のリポジトリ URL 入力欄にヒントを追加、README に URL 形式表を追加
This commit is contained in:
2026-09-09 11:41:41 +09:00
parent 1b74e230ad
commit 6514747b4e
5 changed files with 73 additions and 8 deletions
+30
View File
@@ -0,0 +1,30 @@
# CHANGELOG 2.1.263-e — 手動リリース
## 背景
`claude@192.168.9.65:websites/e-stay-tours.git`(SSH ユーザーを自分のアカウント名にした URL)が
`リポジトリ URL の形式が不正です` で弾かれ、理由が分かりにくかった。
Gitea・GitHub の SSH ユーザーは常に `git` だが、それを案内していなかった。
## 変更
- **`REPO_RE`(manager の URL バリデーション)を緩和**
- `ssh://<user>@<host>[:port]/<path>` … `git` 以外のユーザーも受理
- `<user>@<host>:<path>` … SCP 記法。`git@` 固定をやめて任意ユーザー可
- `<host>:<path>` … ユーザー省略も受理
- `//` で始まるパスは引き続き拒否(URL 誤入力の検出)
- ホスト allowlist(`git.allowedHosts`)は従来どおり全形式に適用
- **エラーメッセージを具体化**
- URL 形式エラー時に受理される 3 形式と「SSH ユーザーは常に `git`」を明記
- ホスト不許可時に許可済みホスト一覧を併記
- **Web UI**: リポジトリ URL 入力欄の下に形式ヒントを表示
## 注意
`claude@…` のような不正ユーザーでも URL 形式としては通るようになったが、その場合の
`git clone` は Gitea 側で失敗する。失敗ログは `2.1.263-d` で追加した「ログ」ボタンで確認できる。
正しくは `git@<host>:<org>/<repo>.git`。
## バージョン
`version` = `2.1.263-e` / `appVersion` = `"2.1.263"`。