0
votes

On my job, we have a jFrog cloud subscription, In there we have a repository of type "local" on artifactory for storing our helm charts

Whenever a new chart is uploaded as a tar.gz file, it is indexed automatically by artifactory

But the index.yaml file has the wrong URL, thus when we try to use the charts it fails

Problem: url on local repository index.yaml:

apiVersion: v1
entries:
  my-chart:
  - apiVersion: v1
    created: 2021-03-11T15:25:37.652038Z
    description: my chart
    digest: 195ae085341f4455eb9ccc3f35cf4f9b0a29f452a948664aefb43e8c05bc575a
    name: my-chart
    urls:
    - local://my-chart-2.0.1.tgz    # <-- here is the problem (local://...)
    version: "2.0.1"

Expected behavior: The correct index.yaml would be like this:

apiVersion: v1
entries:
  my-chart:
  - apiVersion: v1
    created: 2021-03-11T15:25:37.652038Z
    description: my chart
    digest: 195ae085341f4455eb9ccc3f35cf4f9b0a29f452a948664aefb43e8c05bc575a
    name: my-chart
    urls:
    - https://<my-company>.jfrog.io/artifactory/my-local-repo/my-chart-2.0.1.tgz # <- valid url
    version: "2.0.1"

Error: If I try to pull the chart, I get the following message:

Error: scheme "local" not supported

Confusion: I have tried creating the same structure in my private jFrog account and could not replicate the behavior

1
can you confirm you have a custom base URL set? Navigate to UI --> Administration --> General | Settings? If not set, set it your Artifactory URL and test it out.Muhammed Kashif
@MuhammedKashif Sadly, I couldn't find this option in our installationBruno Yamada
whats you Artifactory version?Muhammed Kashif
@MuhammedKashif we are using the cloud version of jfrogBruno Yamada

1 Answers

0
votes

Artifactory only supports resolving charts from a virtual helm repository: https://www.jfrog.com/confluence/display/JFROG/Kubernetes+Helm+Chart+Repositories#KubernetesHelmChartRepositories-ResolvingHelmCharts

You need to create a virtual repository that aggregates the local repository and point the helm client to it.