in controller/controller.go [155:177]
func (c *Controller) leaderEventLoop() {
defer c.wg.Done()
for {
select {
case event := <-c.clusterStore.Notify():
if !c.clusterStore.IsLeader() || event.Type != store.EventCluster {
continue
}
switch event.Command {
case store.CommandCreate:
c.addCluster(event.Namespace, event.Cluster)
case store.CommandRemove:
c.removeCluster(event.Namespace, event.Cluster)
case store.CommandUpdate:
c.updateCluster(event.Namespace, event.Cluster)
default:
logger.Get().Error("Unknown command", zap.Any("event", event))
}
case <-c.closeCh:
return
}
}
}