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
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.