#!/usr/bin/env -S v -n -w -gc none -cc tcc -d use_openssl -enable-globals run import incubaid.herolib.installers.horus.coordinator import incubaid.herolib.installers.horus.supervisor import incubaid.herolib.installers.horus.herorunner import incubaid.herolib.installers.horus.osirisrunner import incubaid.herolib.installers.horus.salrunner // Full Horus Installation Example // This script installs and configures all Horus components: // - Coordinator (port 8081) // - Supervisor (port 8082) // - Hero Runner // - Osiris Runner // - SAL Runner println('šŸš€ Starting Full Horus Installation') // Step 1: Install Coordinator println('\nšŸ“¦ Step 1/5: Installing Coordinator...') mut coordinator_installer := coordinator.get(create: true)! coordinator_installer.install()! println('āœ… Coordinator installed at ${coordinator_installer.binary_path}') // Step 2: Install Supervisor println('\nšŸ“¦ Step 2/5: Installing Supervisor...') mut supervisor_inst := supervisor.get(create: true)! supervisor_inst.install()! println('āœ… Supervisor installed at ${supervisor_inst.binary_path}') // Step 3: Install Hero Runner println('\nšŸ“¦ Step 3/5: Installing Hero Runner...') mut hero_runner := herorunner.get(create: true)! hero_runner.install()! println('āœ… Hero Runner installed at ${hero_runner.binary_path}') // Step 4: Install Osiris Runner println('\nšŸ“¦ Step 4/5: Installing Osiris Runner...') mut osiris_runner := osirisrunner.get(create: true)! osiris_runner.install()! println('āœ… Osiris Runner installed at ${osiris_runner.binary_path}') // Step 5: Install SAL Runner println('\nšŸ“¦ Step 5/5: Installing SAL Runner...') mut sal_runner := salrunner.get(create: true)! sal_runner.install()! println('āœ… SAL Runner installed at ${sal_runner.binary_path}') println('šŸŽ‰ All Horus components installed successfully!') println('\nšŸ“‹ Installation Summary:') println(' • Coordinator: ${coordinator_installer.binary_path} (HTTP: ${coordinator_installer.http_port}, WS: ${coordinator_installer.ws_port})') println(' • Supervisor: ${supervisor_inst.binary_path} (HTTP: ${supervisor_inst.http_port}, WS: ${supervisor_inst.ws_port})') println(' • Hero Runner: ${hero_runner.binary_path}') println(' • Osiris Runner: ${osiris_runner.binary_path}') println(' • SAL Runner: ${sal_runner.binary_path}') println('\nšŸ’” Next Steps:') println(' To start services, run: ./horus_start_all.vsh') println(' To test individual components, see the other example scripts')