github.com/gocrane/crane@v0.11.0/pkg/utils/labels.go (about) 1 package utils 2 3 import ( 4 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 5 "k8s.io/apimachinery/pkg/labels" 6 ) 7 8 func LabelSelectorMatched(maps map[string]string, selector *metav1.LabelSelector) (bool, error) { 9 if selector == nil { 10 return true, nil 11 } 12 13 ls, err := metav1.LabelSelectorAsSelector(selector) 14 if err != nil { 15 return false, err 16 } 17 18 return ls.Matches(labels.Set(maps)), nil 19 } 20 21 // ContainMaps to judge the maps b is contained by maps a 22 func ContainMaps(a map[string]string, b map[string]string) bool { 23 for k, v := range b { 24 if vv, ok := a[k]; !ok { 25 return false 26 } else { 27 if vv != v { 28 return false 29 } 30 } 31 } 32 return true 33 }