in pkg/server/server.go [82:114]
func (s *Server) RunUntil(ctx context.Context, kubeconfig string) error {
ctx, cancel := context.WithCancel(ctx)
defer cancel()
go s.graceshutdown(ctx)
klog.Infof("starting the server with config: %+v\n", s.Config)
var err error
s.clientSet = k8s.ClientOrDie(kubeconfig)
s.provider, err = metrics.StartGCM(ctx, s.Config)
if err != nil {
panic(err.Error())
}
if s.Config.Mode == common.ModeCluster {
s.cr = s.provider.ClusterRecorder()
s.cw = k8s.NewClusterWatcher(s.clientSet)
// start informers
s.cw.StartClusterWatches(ctx.Done())
if s.Config.ClusterProbes {
s.pr = s.provider.ProbeRecorder()
}
go s.runScrape(ctx)
} else {
s.nr = s.provider.NodeRecorder()
s.nw = k8s.NewNodeWatcher(s.clientSet, s.Config.NodeName)
s.nw.StartNodeWatches(ctx.Done())
go s.runScrape(ctx)
}
klog.V(1).Infof("[gke-prober Livenes and Readiness Server]: Lisenting on %s \n", s.httpserver.Addr)
return s.httpserver.ListenAndServe()
}