GitRepository fails to clone from public repo if secretRef is specified without HTTP creds
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia in pkg/git/options.go intorno alle righe 144-146 e riproduci il problema con il GitRepository fornito e un manifest Secret vuoto. Traccia il modo in cui secretRef influisce sul trasporto e sull’autenticazione; il lavoro è completato quando un repository pubblico viene clonato correttamente con un Secret referenziato vuoto, mentre le credenziali continuano a funzionare per i repository privati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When trying to pull from a publicly accessible repo, if the .spec.secretRef.name is specified but the secret itself doesn't contain a username/password, the GitRepository will always fail with failed to checkout and determine revision: unable to clone 'https://github.com/fluxcd/source-controller.git': authentication required.
---
apiVersion: v1
kind: Secret
metadata:
name: git-creds
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: default
secrets:
- name: git
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
name: gitrepo
spec:
secretRef:
name: git-creds
url: https://github.com/fluxcd/source-controller.git
ref:
branch: main
interval: 1m
Our use case is that we have a SSH key and need to template out a bunch of GitRepositories, some of which are private. So instead of adding logic to conditionally template in the SSH secret, we specify the secretRef on all of the GitRepositories with the expectation that the secret is simply ignored for public repos.
I think this is caused by the controller defaulting to assuming ssh transport (and using git as the username) if the secret is specified but no username is found: https://github.com/fluxcd/source-controller/blob/20b26f235e11a9eb6e0784f2598aeffa63a81606/pkg/git/options.go#L144-L146
- Lingua principale
- Go
- Stelle
- 283
- Fork
- 252
- Merge medio
- 1h 6m
- PR unite (30g)
- 12
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di fluxcd/source-controller
-
area/docs good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
fluxcd/source-controller#666 · 2 commenti ·
-
area/git bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
fluxcd/source-controller#2165 · 3 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
fluxcd/source-controller#2150 ·
-
GitRepository `.spec.ref.commit` + `.spec.ref.branch` does not shallow clone, contrary to the docs Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
fluxcd/source-controller#2146 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
fluxcd/source-controller#2136 · 1 commento ·
Tutte le issue di fluxcd/source-controller
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
acceptance-tests phase-coding schema-coverage testing triaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100