@@ -221,7 +221,6 @@ func (g *listerGenerator) Imports(_ *generator.Context) (imports []string) {
221
221
`kcplisters "github.com/kcp-dev/client-go/third_party/k8s.io/client-go/listers"` ,
222
222
`"k8s.io/apimachinery/pkg/labels"` ,
223
223
`"k8s.io/client-go/tools/cache"` ,
224
- `"k8s.io/client-go/listers"` ,
225
224
)
226
225
return
227
226
}
@@ -264,8 +263,6 @@ func (g *listerGenerator) GenerateType(c *generator.Context, t *types.Type, w io
264
263
if g .singleClusterListersPkg == "" {
265
264
sw .Do (namespaceListerInterface , m )
266
265
}
267
-
268
- sw .Do (namespaceListerConstructor , m )
269
266
}
270
267
271
268
sw .Do (scopedLister , m )
@@ -289,7 +286,6 @@ type $.type|public$ClusterLister interface {
289
286
// $.type|private$ClusterLister implements the $.type|public$ClusterLister interface.
290
287
type $.type|private$ClusterLister struct {
291
288
kcplisters.ResourceClusterIndexer[*$.type|raw$]
292
- indexer cache.Indexer
293
289
}
294
290
295
291
var _ $.type|public$ClusterLister = new($.type|private$ClusterLister)
@@ -302,19 +298,16 @@ var _ $.type|public$ClusterLister = new($.type|private$ClusterLister)
302
298
$if .namespaced -$
303
299
// - has the kcpcache.ClusterAndNamespaceIndex as an index
304
300
$end -$
305
- func New$.type|public$ClusterLister(indexer cache.Indexer) * $.type|private $ClusterLister {
301
+ func New$.type|public$ClusterLister(indexer cache.Indexer) $.type|public $ClusterLister {
306
302
return &$.type|private$ClusterLister{
307
303
kcplisters.NewCluster[*$.type|raw$](indexer, $.Resource|raw$("$.type|lowercaseSingular$")),
308
- indexer,
309
304
}
310
305
}
311
306
312
307
// Cluster scopes the lister to one workspace, allowing users to list and get $.type|publicPlural$.
313
308
func (l *$.type|private$ClusterLister) Cluster(clusterName logicalcluster.Name) $.listerInterface|raw$ {
314
309
return &$.type|private$Lister{
315
- kcplisters.New[*$.type|raw$](l.indexer, clusterName, $.Resource|raw$("$.type|lowercaseSingular$")),
316
- l.indexer,
317
- clusterName,
310
+ l.ResourceClusterIndexer.WithCluster(clusterName),
318
311
}
319
312
}
320
313
`
@@ -347,8 +340,6 @@ var typeListerStruct = `
347
340
// or scope down to a $.namespaceListerInterface|raw$ for one namespace.
348
341
type $.type|private$Lister struct {
349
342
kcplisters.ResourceIndexer[*$.type|raw$]
350
- indexer cache.Indexer
351
- clusterName logicalcluster.Name
352
343
}
353
344
354
345
var _ $.listerInterface|raw$ = new($.type|private$Lister)
@@ -357,7 +348,9 @@ var _ $.listerInterface|raw$ = new($.type|private$Lister)
357
348
var typeListerNamespaceLister = `
358
349
// $.type|publicPlural$ returns an object that can list and get $.type|publicPlural$ in one namespace.
359
350
func (l *$.type|private$Lister) $.type|publicPlural$(namespace string) $.namespaceListerInterface|raw$ {
360
- return new$.type|public$NamespaceLister(l.ResourceIndexer, namespace)
351
+ return &$.type|private$NamespaceLister{
352
+ l.ResourceIndexer.WithNamespace(namespace),
353
+ }
361
354
}
362
355
`
363
356
@@ -385,41 +378,33 @@ type $.type|private$NamespaceLister struct {
385
378
var _ $.namespaceListerInterface|raw$ = new($.type|private$NamespaceLister)
386
379
`
387
380
388
- var namespaceListerConstructor = `
389
- // new$.type|public$NamespaceLister returns a new $.namespaceListerInterface|raw$.
390
- func new$.type|public$NamespaceLister(indexer kcplisters.ResourceIndexer[*$.type|raw$], namespace string) $.namespaceListerInterface|raw$ {
391
- return &$.type|private$NamespaceLister{
392
- kcplisters.NewNamespaced(indexer, namespace),
393
- }
394
- }
395
- `
396
-
397
381
var scopedLister = `
398
- // New$.type|public$Lister returns a new $.listerInterface|raw$ .
382
+ // New$.type|public$Lister returns a new $.type|public$Lister .
399
383
// We assume that the indexer:
400
- // - is fed by a workspace-scoped LIST+WATCH
401
- // - uses cache.MetaNamespaceKeyFunc as the key function
384
+ // - is fed by a cross-workspace LIST+WATCH
385
+ // - uses kcpcache.MetaClusterNamespaceKeyFunc as the key function
386
+ // - has the kcpcache.ClusterIndex as an index
402
387
$if .namespaced -$
403
- // - has the cache.NamespaceIndex as an index
388
+ // - has the kcpcache.ClusterAndNamespaceIndex as an index
404
389
$end -$
405
390
func New$.type|public$Lister(indexer cache.Indexer) $.listerInterface|raw$ {
406
- return &$.type|private$ScopedLister{
407
- listers.New[*$.type|raw$](indexer, $.Resource|raw$("$.type|lowercaseSingular$")),
408
- indexer,
391
+ return &$.type|private$Lister{
392
+ kcplisters.New[*$.type|raw$](indexer, $.Resource|raw$("$.type|lowercaseSingular$")),
409
393
}
410
394
}
411
395
412
396
// $.type|private$ScopedLister can list all $.type|publicPlural$ inside a workspace
413
397
// or scope down to a $.namespaceListerInterface|raw$$if .namespaced$ for one namespace$end$.
414
398
type $.type|private$ScopedLister struct {
415
- listers.ResourceIndexer[*$.type|raw$]
416
- indexer cache.Indexer
399
+ kcplisters.ResourceIndexer[*$.type|raw$]
417
400
}
418
401
419
402
$if .namespaced -$
420
403
// $.type|publicPlural$ returns an object that can list and get $.type|publicPlural$ in one namespace.
421
- func (l *$.type|private$ScopedLister) $.type|publicPlural$(namespace string) $.namespaceListerInterface|raw$ {
422
- return listers.NewNamespaced(l.ResourceIndexer, namespace)
404
+ func (l *$.type|private$ScopedLister) $.type|publicPlural$(namespace string) $.listerInterface|raw$ {
405
+ return &$.type|private$Lister{
406
+ l.ResourceIndexer.WithNamespace(namespace),
407
+ }
423
408
}
424
409
$end -$
425
410
`
0 commit comments