...
1
16
17 package action
18
19 import (
20 "strings"
21
22 "helm.sh/helm/v3/pkg/kube"
23 "helm.sh/helm/v3/pkg/releaseutil"
24 )
25
26 func filterManifestsToKeep(manifests []releaseutil.Manifest) (keep, remaining []releaseutil.Manifest) {
27 for _, m := range manifests {
28 if m.Head.Metadata == nil || m.Head.Metadata.Annotations == nil || len(m.Head.Metadata.Annotations) == 0 {
29 remaining = append(remaining, m)
30 continue
31 }
32
33 resourcePolicyType, ok := m.Head.Metadata.Annotations[kube.ResourcePolicyAnno]
34 if !ok {
35 remaining = append(remaining, m)
36 continue
37 }
38
39 resourcePolicyType = strings.ToLower(strings.TrimSpace(resourcePolicyType))
40 if resourcePolicyType == kube.KeepPolicy {
41 keep = append(keep, m)
42 }
43
44 }
45 return keep, remaining
46 }
47
View as plain text