Affects Version/s: None
Fix Version/s: 7.26.3
We recently found out that a certain repository uses more than a single download URL in their index.yaml file. This causes Artifactory to be unable to rewrite both of the URLs, resulting in one of them remaining the same.
Steps to reproduce:
- Create a new remote HELM repo pointing to “https://prometheus-community.github.io/helm-charts”
- Create a new virtual HELM repo which aggregates the above repo
- Configure your HELM client with the virtual repo
- Pull a package using “$ helm install test helm-virtual/prometheus”
- Inspect the index.yaml file in the virtual repo. Some URLs are correct (RT address) and some have the original address (github)
In this case the original index.yaml (in the remote repo) has two types of charts URLs:
- https://prometheus-community.github.io/helm-charts/* (same as repo URL)
If we don't specify Charts Base URL in the remote repo settings, Helm Virtual will rewrite the URLs that match repo URL (1), but not the second type, i.e. github.com (2).
If we specify Charts Base URL and set it to https://github.com/.. (2) Helm Virtual will rewrite only those and skip URLs (1), those that are match Repo URL.
- A recommended workaround will be to use our official ChartCenter repository (chartcenter.io) to pull the Prometheus (and other) packages. This repository is the default one in latest Artifactory versions, updates regularly and should have the same versioning as the above Github repository
- Create two different repos and set a "Chart Base URL" for each to overwrite one of the URLs. Then, use either when pulling newer/older packages.