PRE Hip dependencies issue


Yonah Dissen <yonahdissen@...>
 

Hi all, 

Before starting a Hip, I'd like to throw around the idea I had for improving Helm. 

Issue:

Currently, when dependencies are added with conditions e.g.

dependencies:
- name: nginx
  version: "1.3.1"
  condition: is.stg

The conditional is respected only during the actual installation process. 

When running 

helm dependency update

All dependencies regardless of the conditionals are imported. This is slightly confusing as I've seen multiple issues opened around this (why the conditionals are not working). 

This also makes using different versions of dependencies in different environments not so easy for example Helm library Charts would need something like this

dependencies:
- name: nginx
  version: "1.3.1"
  condition: is.stg
  alias: nginx-staging
- name: nginx 
  version: "1.2.1"
  condition: is.prd
  alias: nginx-production

And in the chart itself 

{{- if ( .Values.is.stg ) }}
{{- include "helm-library-staging.hpa" . }}
{{- else if ( .Values.is.prd )}}
{{- include "helm-library-production.hpa" . }}
{{- end }}

This seems more like a workaround than how it should work. 

Proposal:

Have Helm dependency update look at the conditionals. This would just require to reuse the current code used during installation and than we can work with this straightforward without workarounds. 

Looking forward to your feedback 

Yonah