@@ -72,6 +72,12 @@ func (c installer) InstallRelease(r *v1alpha1.HelmApp) (*v1alpha1.HelmApp, error
72
72
Chart : chart ,
73
73
Values : & cpb.Config {Raw : string (cr )},
74
74
}
75
+
76
+ err := processRequirements (installReq .Chart ,installReq .Values )
77
+ if err != nil {
78
+ return nil , err
79
+ }
80
+
75
81
releaseResponse , err := tiller .InstallRelease (context .TODO (), installReq )
76
82
if err != nil {
77
83
return r , err
@@ -83,6 +89,12 @@ func (c installer) InstallRelease(r *v1alpha1.HelmApp) (*v1alpha1.HelmApp, error
83
89
Chart : chart ,
84
90
Values : & cpb.Config {Raw : string (cr )},
85
91
}
92
+
93
+ err := processRequirements (updateReq .Chart ,updateReq .Values )
94
+ if err != nil {
95
+ return r , err
96
+ }
97
+
86
98
releaseResponse , err := tiller .UpdateRelease (context .TODO (), updateReq )
87
99
if err != nil {
88
100
return r , err
@@ -154,3 +166,18 @@ func releaseName(r *v1alpha1.HelmApp) string {
154
166
func valuesFromResource (r * v1alpha1.HelmApp ) ([]byte , error ) {
155
167
return yaml .Marshal (r .Spec )
156
168
}
169
+
170
+ // processRequirements will process the requirements file
171
+ // It will disable/enable the charts based on condition in requirements file
172
+ // Also imports the specified chart values from child to parent.
173
+ func processRequirements (chart * cpb.Chart , values * cpb.Config ) error {
174
+ err := chartutil .ProcessRequirementsEnabled (chart , values )
175
+ if err != nil {
176
+ return err
177
+ }
178
+ err = chartutil .ProcessRequirementsImportValues (chart )
179
+ if err != nil {
180
+ return err
181
+ }
182
+ return nil
183
+ }
0 commit comments