coder / coder/backstage-plugins

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

Aperta
#144 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug help wanted
Lingua principale
TypeScript
Stelle
67
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### 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?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con il plugin Backstage e il modulo git_clone indicato nel template; esamina prima l’issue #117 e la PR 210. Riproduci il problema con l’URL GitLab che termina in /-/blob/main/?ref_type=heads e confrontala con l’URL funzionante della root del repository. Il lavoro è completato quando il clonaggio automatico riesce con GitLab SAML SSO e il workspace corrisponde ancora all’entità Backstage.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
git, typescript
Ambito
developer-experience
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.