From de30fc5686d5c9f01d4eadd553eee99b23ff75f6 Mon Sep 17 00:00:00 2001 From: Yijie Wang Date: Sat, 6 Jan 2024 13:38:01 -0500 Subject: [PATCH] Changed to filtered informer for Subscription identity service account --- pkg/reconciler/subscription/controller.go | 6 ++++-- pkg/reconciler/subscription/controller_test.go | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pkg/reconciler/subscription/controller.go b/pkg/reconciler/subscription/controller.go index f4f4a0da9bd..44fd2a495f3 100644 --- a/pkg/reconciler/subscription/controller.go +++ b/pkg/reconciler/subscription/controller.go @@ -19,6 +19,8 @@ package subscription import ( "context" + "knative.dev/eventing/pkg/apis/sources" + "k8s.io/client-go/tools/cache" "knative.dev/eventing/pkg/apis/feature" "knative.dev/pkg/client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition" @@ -35,7 +37,7 @@ import ( subscriptionreconciler "knative.dev/eventing/pkg/client/injection/reconciler/messaging/v1/subscription" "knative.dev/eventing/pkg/duck" kubeclient "knative.dev/pkg/client/injection/kube/client" - serviceaccountinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/serviceaccount" + serviceaccountinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/serviceaccount/filtered" "knative.dev/pkg/injection/clients/dynamicclient" ) @@ -48,7 +50,7 @@ func NewController( subscriptionInformer := subscription.Get(ctx) channelInformer := channel.Get(ctx) - serviceaccountInformer := serviceaccountinformer.Get(ctx) + serviceaccountInformer := serviceaccountinformer.Get(ctx, sources.OIDCTokenRoleLabelSelector) var globalResync func(obj interface{}) diff --git a/pkg/reconciler/subscription/controller_test.go b/pkg/reconciler/subscription/controller_test.go index dcddd2611bb..b859261341a 100644 --- a/pkg/reconciler/subscription/controller_test.go +++ b/pkg/reconciler/subscription/controller_test.go @@ -17,8 +17,12 @@ limitations under the License. package subscription import ( + "context" "testing" + "knative.dev/eventing/pkg/apis/sources" + filteredFactory "knative.dev/pkg/client/injection/kube/informers/factory/filtered" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "knative.dev/pkg/configmap" @@ -27,16 +31,17 @@ import ( "knative.dev/eventing/pkg/apis/feature" // Fake injection informers + _ "knative.dev/pkg/client/injection/kube/informers/factory/filtered/fake" _ "knative.dev/eventing/pkg/client/injection/ducks/duck/v1/channelable/fake" _ "knative.dev/eventing/pkg/client/injection/informers/messaging/v1/channel/fake" _ "knative.dev/eventing/pkg/client/injection/informers/messaging/v1/subscription/fake" _ "knative.dev/pkg/client/injection/apiextensions/informers/apiextensions/v1/customresourcedefinition/fake" _ "knative.dev/pkg/client/injection/ducks/duck/v1/addressable/fake" - _ "knative.dev/pkg/client/injection/kube/informers/core/v1/serviceaccount/fake" + _ "knative.dev/pkg/client/injection/kube/informers/core/v1/serviceaccount/filtered/fake" ) func TestNew(t *testing.T) { - ctx, _ := SetupFakeContext(t) + ctx, _ := SetupFakeContext(t, SetUpInformerSelector) c := NewController(ctx, configmap.NewStaticWatcher( &corev1.ConfigMap{ @@ -50,3 +55,8 @@ func TestNew(t *testing.T) { t.Fatal("Expected NewController to return a non-nil value") } } + +func SetUpInformerSelector(ctx context.Context) context.Context { + ctx = filteredFactory.WithSelectors(ctx, sources.OIDCTokenRoleLabelSelector) + return ctx +} \ No newline at end of file