0

We have Micro services application which has different helm charts for each MS, and there is umbrella chart which adds all these charts and create an integrated chart for simple deployment purpose, we use Nexus3 as a helm repo.
In umbrella chart requirements.yaml dependencies are added with version, repository.
When we specify exact chart version in requirements.yaml, sometimes it fails to find that chart in nexus repo, though it actually exists. After some investigation found that it looks for the version in index.yaml of that nexus repo, if required version is not same as like the one in index.yaml file it fails.
index.yaml contains latest version always, but what if we want to work with different version than latest one ? how can we fix this ?
Below is the snippet of requirements.yaml file

dependencies: - name: ms1 version: "1.3.0" repository: http://user:passwd@nexus_host:8081/repository/helm_chart_repo/ms1 - name: ms2 version: "1.3.0" repository: http://user:passwd@nexus_host:8081/repository/helm_chart_repo/ms2 - name: ms3 version: "1.2.0" repository: http://user:passwd@nexus_host:8081/repository/helm_chart_repo/ms3 - name: ms4 version: "1.3.1" repository: http://user:passwd@nexus_host:8081/repository/helm_chart_repo/ms4

1 Answers1

1

If the required version of the Helm Chart exists in the repository, but does not exist in index.yaml, then it means that your index.yaml is not correct. It should contain all the versions that are in the repository.

Check if helm repo index <directory> is always performed after new version is added.

Rafał Leszko
  • 4,939
  • 10
  • 19
  • you are right, some how we are missing all the other versions from ```index.yaml``` except latest one always though we use ```helm repo index --url --merge index.yaml``` – Reddysekhar Gaduputi Aug 27 '18 at 04:34
  • Found that issue is with our automation code :(. Logic is something like this, download ```index.yaml``` from remote, merge it with local one and upload it back to remote. but there was issues with downloading ```index.yaml``` from remote, which was causing always to just upload new file to remote. After fixing the download code , it is working as expected (```index.yaml``` has multiple versions now in remote) – Reddysekhar Gaduputi Aug 27 '18 at 05:04