|
|
|
@ -20,6 +20,8 @@ import (
|
|
|
|
|
"path"
|
|
|
|
|
"regexp"
|
|
|
|
|
|
|
|
|
|
"k8s.io/apimachinery/pkg/labels"
|
|
|
|
|
|
|
|
|
|
"helm.sh/helm/v3/pkg/release"
|
|
|
|
|
"helm.sh/helm/v3/pkg/releaseutil"
|
|
|
|
|
)
|
|
|
|
@ -152,6 +154,11 @@ func (l *List) Run() ([]*release.Release, error) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
selectorObj, err := labels.Parse(l.Selector)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
results, err := l.cfg.Releases.List(func(rel *release.Release) bool {
|
|
|
|
|
// Skip anything that the mask doesn't cover
|
|
|
|
|
currentStatus := l.StateMask.FromName(rel.Info.Status.String())
|
|
|
|
@ -163,6 +170,12 @@ func (l *List) Run() ([]*release.Release, error) {
|
|
|
|
|
if filter != nil && !filter.MatchString(rel.Name) {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Skip anything that doesn't match the selector
|
|
|
|
|
if ! selectorObj.Matches(labels.Set(rel.Labels)) {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|