@@ -180,21 +180,15 @@ func (a KubectlLayerApplier) decodeHelmReleases(layer layers.Layer, objs []runti
180
180
a .logError (err , err .Error (), layer , logging .GetObjNamespaceName (obj )... )
181
181
}
182
182
case * helmctlv1.HelmRelease :
183
- hr , ok := obj .(* helmctlv1.HelmRelease )
183
+ v1Hr , ok := obj .(* helmctlv1.HelmRelease )
184
184
if ok {
185
- a .logDebug ("found v1HelmRelease in Object list" , layer , append (logging .GetObjKindNamespaceName (obj ), "helmRelease" , hr )... )
186
- b , err := json .Marshal (& hr )
187
- if err != nil {
188
- a .logError (err , err .Error (), layer , logging .GetObjNamespaceName (obj )... )
185
+ a .logDebug ("found v1HelmRelease in Object list" , layer , append (logging .GetObjKindNamespaceName (obj ), "helmRelease" , v1Hr )... )
186
+ hr , convertErr := convertV1Hr (v1Hr )
187
+ if convertErr != nil {
188
+ err = convertErr
189
+ a .logError (err , "v1HelmRelease conversion error. " + convertErr .Error (), layer , logging .GetObjNamespaceName (obj )... )
189
190
} else {
190
- var v2Hr * helmctlv2.HelmRelease
191
- err = json .Unmarshal (b , & v2Hr )
192
- if err != nil {
193
- a .logError (err , err .Error (), layer , logging .GetObjNamespaceName (obj )... )
194
- } else {
195
- v2Hr .APIVersion = "helm.toolkit.fluxcd.io/v2beta2"
196
- hrs = append (hrs , v2Hr )
197
- }
191
+ hrs = append (hrs , hr )
198
192
}
199
193
} else {
200
194
err = fmt .Errorf ("failed to convert runtime.Object to HelmRelease" )
@@ -207,6 +201,17 @@ func (a KubectlLayerApplier) decodeHelmReleases(layer layers.Layer, objs []runti
207
201
return hrs , err
208
202
}
209
203
204
+ func convertV1Hr (v1Hr * helmctlv1.HelmRelease ) (hr * helmctlv2.HelmRelease , err error ) {
205
+ js , err := json .Marshal (& v1Hr )
206
+ if err == nil {
207
+ err = json .Unmarshal (js , & hr )
208
+ if err == nil {
209
+ hr .APIVersion = "helm.toolkit.fluxcd.io/v2beta2"
210
+ }
211
+ }
212
+ return
213
+ }
214
+
210
215
func (a KubectlLayerApplier ) decodeHelmRepos (layer layers.Layer , objs []runtime.Object ) (hrs []* sourcev1.HelmRepository , err error ) {
211
216
logging .TraceCall (a .getLog (layer ))
212
217
defer logging .TraceExit (a .getLog (layer ))
0 commit comments