in readers/apiserver/watchlist/internal/watchlist/watchlist.go [243:269]
func (r *Reader) mapCreators() {
rtMapOnce.Do(func() {
m := map[RetrieveType]func(ctx context.Context) []spawnWatcher{
RTNode: r.createNodesWatcher,
RTPod: r.createPodsWatcher,
RTNamespace: r.createNamespaceWatcher,
RTPersistentVolume: r.createPersistentVolumesWatcher,
RTRBAC: r.createRBACWatcher,
RTService: r.createServicesWatcher,
RTDeployment: r.createDeploymentsWatcher,
RTIngressController: r.createIngressesWatcher,
RTEndpoint: r.createEndpointsWatcher,
}
if len(m) != len(rtMap) {
mapCreationErr = fmt.Errorf("Bug: create watcher map length does not equal RetrieveType map length")
}
for rt, creator := range m {
if _, ok := rtMap[rt]; !ok {
mapCreationErr = fmt.Errorf("Bug: RetrieveType %s not found in rtMap", rt.String())
return
}
rtMap[rt] = creator
}
})
}