From c1cf624e468ab84b9f25cc76b17d36d0f9573055 Mon Sep 17 00:00:00 2001 From: Solly Ross Date: Tue, 12 Feb 2019 16:12:31 -0800 Subject: [PATCH] Ensure that enqueuemapped's mapper gets deps Previously, we weren't injecting dependencies into the Mapper in the enqueue-mapped handler. This makes more complicated to things that require clients, etc. --- pkg/handler/enqueue_mapped.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkg/handler/enqueue_mapped.go b/pkg/handler/enqueue_mapped.go index 8e4a5a6acb..a60790242c 100644 --- a/pkg/handler/enqueue_mapped.go +++ b/pkg/handler/enqueue_mapped.go @@ -22,6 +22,7 @@ import ( "k8s.io/client-go/util/workqueue" "sigs.k8s.io/controller-runtime/pkg/event" "sigs.k8s.io/controller-runtime/pkg/reconcile" + "sigs.k8s.io/controller-runtime/pkg/runtime/inject" ) var _ EventHandler = &EnqueueRequestsFromMapFunc{} @@ -68,6 +69,16 @@ func (e *EnqueueRequestsFromMapFunc) mapAndEnqueue(q workqueue.RateLimitingInter } } +// EnqueueRequestsFromMapFunc can inject fields into the mapper. + +// InjectFunc implements inject.Injector. +func (e *EnqueueRequestsFromMapFunc) InjectFunc(f inject.Func) error { + if f == nil { + return nil + } + return f(e.ToRequests) +} + // Mapper maps an object to a collection of keys to be enqueued type Mapper interface { // Map maps an object