@@ -331,7 +331,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
331
331
}
332
332
// to be updated
333
333
out , _ := jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (currentObj )
334
- pruneObj , err := deleteStatusAndManagedFields (out )
334
+ pruneObj , err := deleteStatusAndTidyMetadata (out )
335
335
if err != nil {
336
336
return errors .Wrapf (err , "prune current obj %q with kind %s" , info .Name , kind )
337
337
}
@@ -358,7 +358,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
358
358
return errors .Wrapf (err , "cannot patch %q with kind %s" , info .Name , kind )
359
359
}
360
360
out , _ = jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (targetObj )
361
- pruneObj , err = deleteStatusAndManagedFields (out )
361
+ pruneObj , err = deleteStatusAndTidyMetadata (out )
362
362
if err != nil {
363
363
return errors .Wrapf (err , "prune current obj %q with kind %s" , info .Name , kind )
364
364
}
@@ -537,14 +537,28 @@ func existingResourceConflict(resources kube.ResourceList) (kube.ResourceList, e
537
537
return requireUpdate , err
538
538
}
539
539
540
- func deleteStatusAndManagedFields (obj []byte ) (map [string ]interface {}, error ) {
540
+ func deleteStatusAndTidyMetadata (obj []byte ) (map [string ]interface {}, error ) {
541
541
var objectMap map [string ]interface {}
542
542
err := jsoniterator .Unmarshal (obj , & objectMap )
543
543
if err != nil {
544
544
return nil , errors .Wrap (err , "could not unmarshal byte sequence" )
545
545
}
546
+
546
547
delete (objectMap , "status" )
547
- delete (objectMap ["metadata" ].(map [string ]interface {}), "managedFields" )
548
+
549
+ metadata := objectMap ["metadata" ].(map [string ]interface {})
550
+
551
+ delete (metadata , "managedFields" )
552
+
553
+ if a := metadata ["annotations" ]; a != nil {
554
+ annotations := a .(map [string ]interface {})
555
+ delete (annotations , "meta.helm.sh/release-name" )
556
+ delete (annotations , "meta.helm.sh/release-namespace" )
557
+
558
+ if len (annotations ) == 0 {
559
+ delete (metadata , "annotations" )
560
+ }
561
+ }
548
562
549
563
return objectMap , nil
550
564
}
0 commit comments