NewServer() //pilot/pkg/bootstrap/server.go
e := &model.Environment{}
ac := aggregate.NewController(aggregate.Options{
MeshHolder: e,
})
e.ServiceDiscovery = ac
s := &Server{}
e.TrustBundle = s.workloadTrustBundle
s.XDSServer = xds.NewDiscoveryServer()
s.initKubeClient() // TODO: client side rate limit is set here
s.initMeshConfiguration()
s.initMeshNetworks(args, s.fileWatcher)
s.initMeshHandlers()
s.environment.Init()
[s.initControllers()](<https://cncamp.notion.site/s-initControllers-791515dfbbf94b5baf449e5bb6a7e261>)
discoveryServer.Start(stop)
s.server.Start(stop)