diff --git a/pkg/operator/starter.go b/pkg/operator/starter.go index 1a22b9c8..3ae55ba5 100644 --- a/pkg/operator/starter.go +++ b/pkg/operator/starter.go @@ -28,12 +28,14 @@ const ( operatorName = "openstack-cinder-csi-driver-operator" operandName = "openstack-cinder-csi-driver" instanceName = "cinder.csi.openstack.org" + secretName = "openstack-cloud-credentials" ) func RunOperator(ctx context.Context, controllerConfig *controllercmd.ControllerContext) error { // Create clientsets and informers kubeClient := kubeclient.NewForConfigOrDie(rest.AddUserAgent(controllerConfig.KubeConfig, operatorName)) kubeInformersForNamespaces := v1helpers.NewKubeInformersForNamespaces(kubeClient, defaultNamespace, "") + secretInformer := kubeInformersForNamespaces.InformersFor(defaultNamespace).Core().V1().Secrets() // Create config clientset and informer. This is used to get the cluster ID configClient := configclient.NewForConfigOrDie(rest.AddUserAgent(controllerConfig.KubeConfig, operatorName)) @@ -85,6 +87,7 @@ func RunOperator(ctx context.Context, controllerConfig *controllercmd.Controller kubeClient, kubeInformersForNamespaces.InformersFor(defaultNamespace), nil, + csidrivercontrollerservicecontroller.WithSecretHashAnnotationHook(defaultNamespace, secretName, secretInformer), csidrivercontrollerservicecontroller.WithObservedProxyDeploymentHook(), ).WithCSIDriverNodeService( "OpenStackCinderDriverNodeServiceController", @@ -93,7 +96,7 @@ func RunOperator(ctx context.Context, controllerConfig *controllercmd.Controller kubeClient, kubeInformersForNamespaces.InformersFor(defaultNamespace), csidrivernodeservicecontroller.WithObservedProxyDaemonSetHook(), - ).WithExtraInformers(configInformers.Config().V1().Proxies().Informer()) + ).WithExtraInformers(configInformers.Config().V1().Proxies().Informer(), secretInformer.Informer()) if err != nil { return err