// FindLabelsInSet gets as many key/value pairs as possible out of a label set. func FindLabelsInSet(labelsToKeep []string, selector labels.Set) map[string]string { aL := make(map[string]string) for _, l := range labelsToKeep { if selector.Has(l) { aL[l] = selector.Get(l) } } return aL }
// AddUnsetLabelsToMap backfills missing values with values we find in a map. func AddUnsetLabelsToMap(aL map[string]string, labelsToAdd []string, labelSet labels.Set) { for _, l := range labelsToAdd { // if the label is already there, dont overwrite it. if _, exists := aL[l]; exists { continue } // otherwise, backfill this label. if labelSet.Has(l) { aL[l] = labelSet.Get(l) } } }