code: func (s *Server) startCARootPruning() {
  	s.caPruningLock.Lock()
  	defer s.caPruningLock.Unlock()
  
  	if s.caPruningEnabled {
  		return
  	}
  
  	s.caPruningCh = make(chan struct{})
  
  	go func() {
  		ticker := time.NewTicker(caRootPruneInterval)
  		defer ticker.Stop()
  
  		for {
  			select {
  			case <-s.caPruningCh:
  				return
  			case <-ticker.C:
  				if err := s.pruneCARoots(); err != nil {
  					s.logger.Printf("[ERR] connect: error pruning CA roots: %v", err)
  				}
  			}
  		}
  	}()
  
  	s.caPruningEnabled = true
  }
docs: // startCARootPruning starts a goroutine that looks for stale CARoots
  // and removes them from the state store.