88 "sync"
99 "time"
1010
11+ "github.com/operator-framework/operator-lifecycle-manager/pkg/lib/kubestate"
12+
1113 "github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/labeller"
1214 "github.com/operator-framework/operator-lifecycle-manager/pkg/controller/operators/olm/plugins"
1315 "github.com/sirupsen/logrus"
@@ -83,11 +85,11 @@ type Operator struct {
8385 copiedCSVLister metadatalister.Lister
8486 ogQueueSet * queueinformer.ResourceQueueSet
8587 csvQueueSet * queueinformer.ResourceQueueSet
86- olmConfigQueue workqueue.TypedRateLimitingInterface [any ]
88+ olmConfigQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
8789 csvCopyQueueSet * queueinformer.ResourceQueueSet
8890 copiedCSVGCQueueSet * queueinformer.ResourceQueueSet
89- nsQueueSet workqueue.TypedRateLimitingInterface [any ]
90- apiServiceQueue workqueue.TypedRateLimitingInterface [any ]
91+ nsQueueSet workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
92+ apiServiceQueue workqueue.TypedRateLimitingInterface [kubestate. ResourceEvent ]
9193 csvIndexers map [string ]cache.Indexer
9294 recorder record.EventRecorder
9395 resolver install.StrategyResolverInterface
@@ -198,17 +200,17 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
198200 client : config .externalClient ,
199201 ogQueueSet : queueinformer .NewEmptyResourceQueueSet (),
200202 csvQueueSet : queueinformer .NewEmptyResourceQueueSet (),
201- olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
202- workqueue .DefaultTypedControllerRateLimiter [any ](),
203- workqueue.TypedRateLimitingQueueConfig [any ]{
203+ olmConfigQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
204+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
205+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
204206 Name : "olmConfig" ,
205207 }),
206208
207209 csvCopyQueueSet : queueinformer .NewEmptyResourceQueueSet (),
208210 copiedCSVGCQueueSet : queueinformer .NewEmptyResourceQueueSet (),
209- apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [any ](
210- workqueue .DefaultTypedControllerRateLimiter [any ](),
211- workqueue.TypedRateLimitingQueueConfig [any ]{
211+ apiServiceQueue : workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
212+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
213+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
212214 Name : "apiservice" ,
213215 }),
214216 resolver : config .strategyResolver ,
@@ -246,9 +248,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
246248 ).Operators ().V1alpha1 ().ClusterServiceVersions ()
247249 informersByNamespace [namespace ].CSVInformer = csvInformer
248250 op .lister .OperatorsV1alpha1 ().RegisterClusterServiceVersionLister (namespace , csvInformer .Lister ())
249- csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
250- workqueue .DefaultTypedControllerRateLimiter [any ](),
251- workqueue.TypedRateLimitingQueueConfig [any ]{
251+ csvQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
252+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
253+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
252254 Name : fmt .Sprintf ("%s/csv" , namespace ),
253255 })
254256 op .csvQueueSet .Set (namespace , csvQueue )
@@ -273,7 +275,11 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
273275 op .csvIndexers [namespace ] = csvIndexer
274276
275277 // Register separate queue for copying csvs
276- csvCopyQueue := workqueue .NewNamedRateLimitingQueue (workqueue .DefaultTypedControllerRateLimiter [any ](), fmt .Sprintf ("%s/csv-copy" , namespace ))
278+ csvCopyQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
279+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
280+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
281+ Name : fmt .Sprintf ("%s/csv-copy" , namespace ),
282+ })
277283 op .csvCopyQueueSet .Set (namespace , csvCopyQueue )
278284 csvCopyQueueInformer , err := queueinformer .NewQueueInformer (
279285 ctx ,
@@ -307,9 +313,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
307313 informersByNamespace [namespace ].CopiedCSVLister = op .copiedCSVLister
308314
309315 // Register separate queue for gcing copied csvs
310- copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
311- workqueue .DefaultTypedControllerRateLimiter [any ](),
312- workqueue.TypedRateLimitingQueueConfig [any ]{
316+ copiedCSVGCQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
317+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
318+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
313319 Name : fmt .Sprintf ("%s/csv-gc" , namespace ),
314320 })
315321 op .copiedCSVGCQueueSet .Set (namespace , copiedCSVGCQueue )
@@ -333,9 +339,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
333339 operatorGroupInformer := extInformerFactory .Operators ().V1 ().OperatorGroups ()
334340 informersByNamespace [namespace ].OperatorGroupInformer = operatorGroupInformer
335341 op .lister .OperatorsV1 ().RegisterOperatorGroupLister (namespace , operatorGroupInformer .Lister ())
336- ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](
337- workqueue .DefaultTypedControllerRateLimiter [any ](),
338- workqueue.TypedRateLimitingQueueConfig [any ]{
342+ ogQueue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
343+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
344+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
339345 Name : fmt .Sprintf ("%s/og" , namespace ),
340346 })
341347 op .ogQueueSet .Set (namespace , ogQueue )
@@ -522,9 +528,12 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
522528 logger := op .logger .WithFields (logrus.Fields {"gvr" : gvr .String (), "index" : idx })
523529 logger .Info ("registering labeller" )
524530
525- queue := workqueue .NewTypedRateLimitingQueueWithConfig [any ](workqueue .DefaultTypedControllerRateLimiter [any ](), workqueue.TypedRateLimitingQueueConfig [any ]{
526- Name : gvr .String (),
527- })
531+ queue := workqueue .NewTypedRateLimitingQueueWithConfig [kubestate.ResourceEvent ](
532+ workqueue .DefaultTypedControllerRateLimiter [kubestate.ResourceEvent ](),
533+ workqueue.TypedRateLimitingQueueConfig [kubestate.ResourceEvent ]{
534+ Name : gvr .String (),
535+ },
536+ )
528537 queueInformer , err := queueinformer .NewQueueInformer (
529538 ctx ,
530539 queueinformer .WithQueue (queue ),
@@ -696,9 +705,9 @@ func newOperatorWithConfig(ctx context.Context, config *operatorConfig) (*Operat
696705 namespaceInformer := informers .NewSharedInformerFactory (op .opClient .KubernetesInterface (), config .resyncPeriod ()).Core ().V1 ().Namespaces ()
697706 informersByNamespace [metav1 .NamespaceAll ].NamespaceInformer = namespaceInformer
698707 op .lister .CoreV1 ().RegisterNamespaceLister (namespaceInformer .Lister ())
699- op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [any ](
700- workqueue .DefaultTypedControllerRateLimiter [any ](),
701- workqueue.TypedRateLimitingQueueConfig [any ]{
708+ op .nsQueueSet = workqueue .NewTypedRateLimitingQueueWithConfig [kubestate. ResourceEvent ](
709+ workqueue .DefaultTypedControllerRateLimiter [kubestate. ResourceEvent ](),
710+ workqueue.TypedRateLimitingQueueConfig [kubestate. ResourceEvent ]{
702711 Name : "resolver" ,
703712 })
704713 namespaceInformer .Informer ().AddEventHandler (
@@ -1665,7 +1674,7 @@ func (a *Operator) syncCopyCSV(obj interface{}) (syncError error) {
16651674 }
16661675
16671676 if err == nil {
1668- go a .olmConfigQueue .AddAfter (olmConfig , time .Second * 5 )
1677+ go a .olmConfigQueue .AddAfter (kubestate . NewUpdateEvent ( olmConfig ) , time .Second * 5 )
16691678 }
16701679
16711680 logger := a .logger .WithFields (logrus.Fields {
0 commit comments