Skip to content
docsv0.1.1

BootstrapRunner

Orchestrates an ordered sequence of bootstrap phases fail-fast, turning each phase's outcome into a structured report suitable for logging, CI integration, and host-level decision-making (abort the app if critical phases fail). Domain-blind: phases own their own effects (Doctrine schema creation, plugin registration, etc.). The runner is pure orchestration.

BootstrapRunner::__construct()

public function __construct(array $phases, ?Psr\Log\LoggerInterface $logger = null):

Parameters

Parameters of __construct()
NameTypeDescription
$phaseslist<BootstrapPhaseInterface>
$logger?Psr\Log\LoggerInterface

BootstrapRunner::run()

public function run(): Milpa\Ops\Bootstrap\BootstrapReport

Corre las fases en orden y se detiene en la primera que falla. Fail-fast y no «corre todo y reporta»: una fase que falla suele dejar el sistema a medio preparar, y seguir adelante produce errores posteriores que apuntan al lugar equivocado. El reporte trae la fase que falló y las que alcanzaron a correr, para que quien lo lea sepa dónde quedó parado. No lanza: el fallo viaja en el reporte, y quien llama decide si aborta.