aslafy-z / helm-git

Helm Plugin - Install Helm Charts strait from Git repositories
Apache License 2.0
287 stars 46 forks source link

Bug: Error: no repository definition for git+ssh #252

Closed Exchizz closed 1 year ago

Exchizz commented 1 year ago

My Chart.taml:

apiVersion: v2
description: main chart
name: web
version: v1.0.0 
appVersion: v1.0.0 
dependencies:
  - name: subchart
    version: v1.0.0
    repository: git+ssh://git@ssh.dev.azure.com:v3/org/project/HelmChart@chart/  <-- It does *not* work
    repository: git+https://user@dev.azure.com/org/project/_git/HelmChart@chart/ <-- It works

Helm version:
version.BuildInfo{Version:"v3.11.1", GitCommit:"293b50c65d4d56187cd4e2f390f0ada46b4c4737", GitTreeState:"clean", GoVersion:"go1.18.10"} helm-git version:
0.15.1 Git version:
2.25.1

Steps To Reproduce

  1. Create directory with the Chart.yaml shown above
  2. run `helm dependency build``

The current behavior

Error: no repository definition for git+ssh://git@ssh.dev.azure.com:v3/org/project/HelmChart@chart. Please add them via 'helm repo add'

The expected behavior

I would expect it to clone the repo using ssh and build the helm chart as it does when I switch to using https. Is that not the intended behavior when using git+ssh ?

EDIT: I think this is related to :v3 - if I remove that from the url, then helm-git tries to download the chart but then fails, hmm

aslafy-z commented 1 year ago

Hello @Exchizz, As any other helm repository, you should helm repo add it first. Also, your url is not supported by Helm, check the note I just added to the readme at https://github.com/aslafy-z/helm-git#note-on-ssh-relative-paths.

So, the correct steps in your case would be:

helm repo add the-name-you-want "git+ssh://git@ssh.dev.azure.com/v3/org/project/HelmChart@chart"
helm dependency build

Also, if you get some error related to sparse checkout, you may want to disable it by adding '?sparse=0' to the url. Some users have issues with it. I'm will soon release an update to address this issue.

Exchizz commented 1 year ago

Hi @aslafy-z,

Thanks for getting back so fast !

Replacing :v3 with /v3 works - here is a working example:

apiVersion: v2
description: main chart
name: web
version: v1.0.0 
appVersion: v1.0.0 
dependencies:
  - name: subchart
    version: v1.0.0
    repository: git+ssh://git@ssh.dev.azure.com/v3/org/project/HelmChart@chart/

Btw. I don't need to run "helm repo add" first - "helm dependency build" fetches the subchart :)

I'm planning on using this with ArgoCD, so now I can continue - many thanks :)

vl-kp commented 1 year ago

@Exchizz , is it working in argocd? i can't use it for --values