in internal/flows/init.go [62:105]
func initDaemons(ctx context.Context, nodeProvider nodeprovider.NodeProvider, skipPhases []string, logger *zap.Logger) error {
if !slices.Contains(skipPhases, preprocessPhase) {
logger.Info("Configuring Pre-process daemons...")
if err := nodeProvider.PreProcessDaemon(ctx); err != nil {
return err
}
}
daemons, err := nodeProvider.GetDaemons()
if err != nil {
return err
}
if !slices.Contains(skipPhases, configPhase) {
logger.Info("Configuring daemons...")
for _, daemon := range daemons {
nameField := zap.String("name", daemon.Name())
logger.Info("Configuring daemon...", nameField)
if err := daemon.Configure(); err != nil {
return err
}
logger.Info("Configured daemon", nameField)
}
}
if !slices.Contains(skipPhases, runPhase) {
for _, daemon := range daemons {
nameField := zap.String("name", daemon.Name())
logger.Info("Ensuring daemon is running..", nameField)
if err := daemon.EnsureRunning(ctx); err != nil {
return err
}
logger.Info("Daemon is running", nameField)
logger.Info("Running post-launch tasks..", nameField)
if err := daemon.PostLaunch(); err != nil {
return err
}
logger.Info("Finished post-launch tasks", nameField)
}
}
return nil
}