Skip to content

Commit f6c07d1

Browse files
committed
SQUASH: revert InDefaultCluster()
Signed-off-by: Dr. Stefan Schimanski <[email protected]>
1 parent b791ec6 commit f6c07d1

File tree

3 files changed

+17
-69
lines changed

3 files changed

+17
-69
lines changed

pkg/builder/controller.go

Lines changed: 15 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,10 @@ func ControllerManagedBy(m manager.Manager) *Builder {
7474

7575
// ForInput represents the information set by the For method.
7676
type ForInput struct {
77-
object client.Object
78-
forceDefaultCluster bool // in cluster-aware mode, force the object to be watched in the default cluster
79-
predicates []predicate.Predicate
80-
objectProjection objectProjection
81-
err error
77+
object client.Object
78+
predicates []predicate.Predicate
79+
objectProjection objectProjection
80+
err error
8281
}
8382

8483
// For defines the type of Object being *reconciled*, and configures the ControllerManagedBy to respond to create / delete /
@@ -101,11 +100,10 @@ func (blder *Builder) For(object client.Object, opts ...ForOption) *Builder {
101100

102101
// OwnsInput represents the information set by Owns method.
103102
type OwnsInput struct {
104-
matchEveryOwner bool
105-
object client.Object
106-
forceDefaultCluster bool // in cluster-aware mode, force the object to be watched in the default cluster
107-
predicates []predicate.Predicate
108-
objectProjection objectProjection
103+
matchEveryOwner bool
104+
object client.Object
105+
predicates []predicate.Predicate
106+
objectProjection objectProjection
109107
}
110108

111109
// Owns defines types of Objects being *generated* by the ControllerManagedBy, and configures the ControllerManagedBy to respond to
@@ -128,11 +126,10 @@ func (blder *Builder) Owns(object client.Object, opts ...OwnsOption) *Builder {
128126

129127
// WatchesInput represents the information set by Watches method.
130128
type WatchesInput struct {
131-
src source.Source
132-
forceDefaultCluster bool // in cluster-aware mode, force the object to be watched in the default cluster
133-
eventHandler handler.EventHandler
134-
predicates []predicate.Predicate
135-
objectProjection objectProjection
129+
src source.Source
130+
eventHandler handler.EventHandler
131+
predicates []predicate.Predicate
132+
objectProjection objectProjection
136133
}
137134

138135
// Watches defines the type of Object to watch, and configures the ControllerManagedBy to respond to create / delete /
@@ -287,10 +284,7 @@ func (blder *Builder) doWatch() error {
287284
if err != nil {
288285
return err
289286
}
290-
src := clusterAwareSource{
291-
DeepCopyableSyncingSource: source.Kind(blder.cluster.GetCache(), obj),
292-
forceDefaultCluster: blder.forInput.forceDefaultCluster,
293-
}
287+
src := source.Kind(blder.cluster.GetCache(), obj)
294288
hdler := &handler.EnqueueRequestForObject{}
295289
allPredicates := append([]predicate.Predicate(nil), blder.globalPredicates...)
296290
allPredicates = append(allPredicates, blder.forInput.predicates...)
@@ -308,10 +302,7 @@ func (blder *Builder) doWatch() error {
308302
if err != nil {
309303
return err
310304
}
311-
src := clusterAwareSource{
312-
DeepCopyableSyncingSource: source.Kind(blder.cluster.GetCache(), obj),
313-
forceDefaultCluster: own.forceDefaultCluster,
314-
}
305+
src := source.Kind(blder.cluster.GetCache(), obj)
315306
opts := []handler.OwnerOption{}
316307
if !own.matchEveryOwner {
317308
opts = append(opts, handler.OnlyControllerOwner())
@@ -334,17 +325,12 @@ func (blder *Builder) doWatch() error {
334325
}
335326
for _, w := range blder.watchesInput {
336327
// If the source of this watch is of type Kind, project it.
337-
src := w.src
338328
if srcKind, ok := w.src.(*internalsource.Kind); ok {
339329
typeForSrc, err := blder.project(srcKind.Type, w.objectProjection)
340330
if err != nil {
341331
return err
342332
}
343333
srcKind.Type = typeForSrc
344-
src = clusterAwareSource{
345-
DeepCopyableSyncingSource: srcKind,
346-
forceDefaultCluster: w.forceDefaultCluster,
347-
}
348334
} else if !ok {
349335
// If we're building a cluster-aware controller, raw watches are not allowed
350336
// given that the cache cannot be validated to be coming from the same cluster.
@@ -356,7 +342,7 @@ func (blder *Builder) doWatch() error {
356342
}
357343
allPredicates := append([]predicate.Predicate(nil), blder.globalPredicates...)
358344
allPredicates = append(allPredicates, w.predicates...)
359-
if err := blder.ctrl.Watch(src, w.eventHandler, allPredicates...); err != nil {
345+
if err := blder.ctrl.Watch(w.src, w.eventHandler, allPredicates...); err != nil {
360346
return err
361347
}
362348
}
@@ -445,12 +431,3 @@ func (blder *Builder) doController(r reconcile.Reconciler) error {
445431
blder.ctrl, err = newController(controllerName, blder.mgr, ctrlOptions)
446432
return err
447433
}
448-
449-
type clusterAwareSource struct {
450-
source.DeepCopyableSyncingSource
451-
forceDefaultCluster bool
452-
}
453-
454-
func (s clusterAwareSource) ForceDefaultCluster() bool {
455-
return s.forceDefaultCluster
456-
}

pkg/builder/options.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -154,21 +154,3 @@ type matchEveryOwner struct{}
154154
func (o matchEveryOwner) ApplyToOwns(opts *OwnsInput) {
155155
opts.matchEveryOwner = true
156156
}
157-
158-
// InDefaultCluster configures the input to only watch objects on the default
159-
// cluster, even if a cluster provider is set.
160-
var InDefaultCluster = inDefaultCluster{}
161-
162-
type inDefaultCluster struct{}
163-
164-
func (f inDefaultCluster) ApplyToFor(opts *ForInput) {
165-
opts.forceDefaultCluster = true
166-
}
167-
168-
func (f inDefaultCluster) ApplyToOwns(opts *OwnsInput) {
169-
opts.forceDefaultCluster = true
170-
}
171-
172-
func (f inDefaultCluster) ApplyToWatches(opts *WatchesInput) {
173-
opts.forceDefaultCluster = true
174-
}

pkg/internal/controller/controller.go

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,6 @@ type Controller struct {
103103
LeaderElected *bool
104104
}
105105

106-
// ClusterAwareSource is a source that knows whether to watch in the default cluster
107-
// in the clusters engaged by the cluster provider.
108-
type ClusterAwareSource interface {
109-
source.Source
110-
ForceDefaultCluster() bool
111-
}
112-
113106
type clusterDescription struct {
114107
cluster.Cluster
115108
ctx context.Context
@@ -157,12 +150,8 @@ func (c *Controller) Watch(src source.Source, evthdler handler.EventHandler, prc
157150
c.mu.Lock()
158151
defer c.mu.Unlock()
159152

160-
// If the source is cluster aware, store it in a separate list.
161-
var forceDefaultCluster bool
162-
if src, ok := src.(ClusterAwareSource); ok {
163-
forceDefaultCluster = src.ForceDefaultCluster()
164-
}
165-
if c.WatchProviderClusters && !forceDefaultCluster {
153+
// If a cluster provider is in-place, run src for every provided cluster
154+
if c.WatchProviderClusters {
166155
src, ok := src.(source.DeepCopyableSyncingSource)
167156
if !ok {
168157
return fmt.Errorf("source %T is not cluster aware, but WatchProviderClusters is true", src)

0 commit comments

Comments
 (0)