Skip to content

Commit 21cad78

Browse files
committed
Use labels helper to build label selector
A little more compact, and probably more correct.
1 parent 4860dbf commit 21cad78

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

pkg/patterns/declarative/watch.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@ import (
2020
"context"
2121
"fmt"
2222
"sort"
23-
"strings"
2423

2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26-
"k8s.io/apimachinery/pkg/fields"
25+
"k8s.io/apimachinery/pkg/labels"
2726
"k8s.io/apimachinery/pkg/runtime/schema"
2827
"k8s.io/client-go/rest"
2928
"sigs.k8s.io/controller-runtime/pkg/controller"
@@ -66,20 +65,18 @@ func WatchAll(config *rest.Config, ctrl controller.Controller, recnl Source, lab
6665
}
6766

6867
type watchAll struct {
69-
dw DynamicWatch
70-
labelMaker LabelMaker
71-
registered map[string]struct{}
68+
dw DynamicWatch
69+
labelMaker LabelMaker
70+
registered map[string]struct{}
71+
namespaceAware bool
7272
}
7373

7474
func (w *watchAll) Notify(ctx context.Context, dest DeclarativeObject, objs *manifest.Objects) error {
7575
log := log.Log
7676

77-
labelSelector := strings.Builder{}
78-
for k, v := range w.labelMaker(ctx, dest) {
79-
if labelSelector.Len() != 0 {
80-
labelSelector.WriteRune(',')
81-
}
82-
fmt.Fprintf(&labelSelector, "%s=%s", k, fields.EscapeValue(v))
77+
labelSelector, err := labels.ValidatedSelectorFromSet(w.labelMaker(ctx, dest))
78+
if err != nil {
79+
return fmt.Errorf("failed to build label selector: %w", err)
8380
}
8481

8582
notify := metav1.ObjectMeta{Name: dest.GetName(), Namespace: dest.GetNamespace()}

0 commit comments

Comments
 (0)