code: func (c *CloudNodeLifecycleController) Run(stopCh <-chan struct{}) {
  	defer utilruntime.HandleCrash()
  
  	// The following loops run communicate with the APIServer with a worst case complexity
  	// of O(num_nodes) per cycle. These functions are justified here because these events fire
  	// very infrequently. DO NOT MODIFY this to perform frequent operations.
  
  	// Start a loop to periodically check if any nodes have been
  	// deleted or shutdown from the cloudprovider
  	wait.Until(c.MonitorNodes, c.nodeMonitorPeriod, stopCh)
  }
docs: // Run starts the main loop for this controller. Run is blocking so should
  // be called via a goroutine