knative / knative/pkg

informers for multiple namespaces

Open
#3,367 3 comments 0 reactions 0 assignees View on GitHub
lifecycle/stale
Dominant language
Go
Stars
276
Forks
343
Avg merge
1d 1h
Merged PRs (30d)
1

Description

currently the informers are only cluster wide or namespace specific.

I want to have an option like in controller-runtime to watch specific namespaces.

wide cluster access to secrets for example is problematic because of security concerns

I want it for the kafka-controller specifically but this is a general issue.

I already forked the kafka controller and override the default secret informer from this pacakge, so maybe this is something you would consider adding here.

what i basicly do is:

```
subs := make([]informers.SharedInformerFactory, 0, len(namespaces))
for _, ns := range namespaces {
subs = append(subs, informers.NewSharedInformerFactoryWithOptions(
client, resync, informers.WithNamespace(ns),
))
}
```
and then only for secrets create some wrap informer which maps the namespace to the dedicated namespaced informer

Contributor guide

Open the contributing guide

Research direction

Start in the informers package at NewSharedInformerFactoryWithOptions and WithNamespace, then compare the per-namespace factories described in the issue with the existing cluster-wide and namespace-specific behavior. Define how a caller such as kafka-controller can watch selected namespaces, especially secrets, without cluster-wide access; done means the general package supports that option.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.