in pkg/agent/agent.go [127:150]
func (a *Agent) Run(ctx context.Context) error {
if err := a.checkProviders(); err != nil {
return errors.WithMessage(err, "misconfigured")
}
a.log.Debug("starting")
defer a.log.Debug("finished")
group := workgroup.WithContext(ctx)
ns := nodestream.New(a.log.WithField("worker", "informer"), a.kube, nodestream.Config{
NodeName: a.nodeName,
}, a.handler())
err := a.checkNodePreflight()
if err != nil {
return err
}
group.Work(ns.Run)
group.Work(a.periodicUpdateChecker)
<-ctx.Done()
a.log.Info("waiting on workers to finish")
return group.Wait()
}