diff --git a/controller.go b/controller.go index d5f06c6..f781023 100644 --- a/controller.go +++ b/controller.go @@ -24,17 +24,14 @@ import ( "golang.org/x/time/rate" - appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" - appsinformers "k8s.io/client-go/informers/apps/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" typedcorev1 "k8s.io/client-go/kubernetes/typed/core/v1" - appslisters "k8s.io/client-go/listers/apps/v1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" @@ -63,10 +60,8 @@ type Controller struct { proxyProviderClientset clientset.Interface authentik *authentikapi.APIClient - deploymentsLister appslisters.DeploymentLister - deploymentsSynced cache.InformerSynced - proxyLister listers.ProxyProviderLister - proxySynced cache.InformerSynced + proxyLister listers.ProxyProviderLister + proxySynced cache.InformerSynced workqueue workqueue.TypedRateLimitingInterface[cache.ObjectName] recorder record.EventRecorder @@ -77,7 +72,6 @@ func NewController( kubeclientset kubernetes.Interface, proxyProviderClientset clientset.Interface, authentik *authentikapi.APIClient, - deploymentInformer appsinformers.DeploymentInformer, proxyInformer informers.ProxyProviderInformer, ) *Controller { logger := klog.FromContext(ctx) @@ -98,8 +92,6 @@ func NewController( kubeclientset: kubeclientset, proxyProviderClientset: proxyProviderClientset, authentik: authentik, - deploymentsLister: deploymentInformer.Lister(), - deploymentsSynced: deploymentInformer.Informer().HasSynced, proxyLister: proxyInformer.Lister(), proxySynced: proxyInformer.Informer().HasSynced, workqueue: workqueue.NewTypedRateLimitingQueue(ratelimiter), @@ -113,18 +105,6 @@ func NewController( c.enqueueProxyProvider(newObj) }, }) - deploymentInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ - AddFunc: c.handleObject, - UpdateFunc: func(old, new interface{}) { - newDepl := new.(*appsv1.Deployment) - oldDepl := old.(*appsv1.Deployment) - if newDepl.ResourceVersion == oldDepl.ResourceVersion { - return - } - c.handleObject(new) - }, - DeleteFunc: c.handleObject, - }) return c } @@ -137,7 +117,7 @@ func (c *Controller) Run(ctx context.Context, workers int) error { logger.Info("Starting ProxyProvider controller") logger.Info("Waiting for informer caches to sync") - if ok := cache.WaitForCacheSync(ctx.Done(), c.deploymentsSynced, c.proxySynced); !ok { + if ok := cache.WaitForCacheSync(ctx.Done(), c.proxySynced); !ok { return fmt.Errorf("failed to wait for caches to sync") } diff --git a/main.go b/main.go index 7351095..3bb6540 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,6 @@ import ( "gitea.t000-n.de/t.behrendt/authentik-kubernetes-operator/pkg/signals" authentikapi "goauthentik.io/api/v3" - kubeinformers "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2" @@ -74,16 +73,14 @@ func main() { klog.FlushAndExit(klog.ExitFlushTimeout, 1) } - kubeInformerFactory := kubeinformers.NewSharedInformerFactory(kubeClient, time.Second*30) proxyProviderInformerFactory := informers.NewSharedInformerFactory(proxyProviderClient, time.Second*30) controller := NewController(ctx, kubeClient, proxyProviderClient, authentikClient, - kubeInformerFactory.Apps().V1().Deployments(), - proxyProviderInformerFactory.Proxyprovider().V1().ProxyProviders()) + proxyProviderInformerFactory.Proxyprovider().V1().ProxyProviders(), + ) // notice that there is no need to run Start methods in a separate goroutine. (i.e. go kubeInformerFactory.Start(ctx.done()) // Start method is non-blocking and runs all registered informers in a dedicated goroutine. - kubeInformerFactory.Start(ctx.Done()) proxyProviderInformerFactory.Start(ctx.Done()) if err = controller.Run(ctx, 2); err != nil {