coder / coder/backstage-plugins

Auto-cloning a Gitlab repo fails with "unable to update url base from redirection"

オープン
#144 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
bug help wanted
主要言語
TypeScript
スター
67
フォーク
9
PR マージ指標
30日以内にマージされた PR はありません

説明

### Background

My organisation is exploring Coder with the Backstage plugin and Gitlab.com (Gitlab SaaS, i.e. not self-hosted).

In Backstage, before creating anything, the plugin shows:

> No workspaces found for repo
> https://gitlab.com/myorg/myrepo/-/blob/main/?ref_type=heads

We see #117 and the fact a change was made, and also that a merge was made to the git clone module in PR [210](https://github.com/coder/modules/pull/210#issue-2217313475), but we are yet to be able to make it work.

### Challenge

With a template that auto-clones, for example using the `git_clone` module:

```hcl
data "coder_parameter" "repo_url" {
name = "repo_url"
display_name = "Git repository"
}

module "git_clone" {
source = "registry.coder.com/modules/git-clone/coder"
version = "1.0.18"
agent_id = coder_agent.main.id
url = data.coder_parameter.repo_url.value
}
```

We see the clone fail after redirection:

```
Cloning https://gitlab.com/myorg/myrepo/-/blob/main/ to /home/coder/main...
Cloning into '/home/coder/main'...

fatal: unable to update url base from redirection:
asked for: https://gitlab.com/myorg/myrepo/-/blob/main/info/refs?service=git-upload-pack
redirect: https://gitlab.com/groups/myorg/-/saml/sso?redirect=%2Fmyorg%2Fmyrepo%2F-%2Fblob%2Fmain%2Finfo%2Frefs%3Fservice%3Dgit-upload-pack&token=
```

We enforce single sign-on, which may explain the saml/sso redirection.

### Alternatives

If we do not "auto-clone", and instead try and clone from the Workspace template directly (providing "Git repository" in the GUI), providing "https://gitlab.com/myorg/myrepo", then it works.

The downside is that the Backstage plugin won't "match" the Workspace as being related to the Backstage entity (presumably because we omitted the `-/blob/main/?ref_type=heads` suffix).

Has anyone been able to make this work with Gitlab yet please?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

テンプレートで参照されている Backstage plugin と git_clone モジュールから始め、まず issue #117 と PR 210 を確認します。/-/blob/main/?ref_type=heads で終わる GitLab URL で再現し、動作するリポジトリルートの URL と比較します。GitLab SAML SSO で自動クローンが成功し、workspace が引き続き Backstage entity と一致すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
git, typescript
領域
developer-experience
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。