omni_orchestrator/initialization/
launch_server.rs1use crate::server::build_rocket;
2use crate::db_manager::DatabaseManager;
4use crate::state::SharedState;
5use std::sync::Arc;
7use tokio::sync::RwLock;
8use colored::Colorize;
9
10pub async fn launch_server(
23 port: u16,
24 db_manager: Arc<DatabaseManager>,
25 pool: sqlx::MySqlPool,
26 cluster_manager: Arc<RwLock<crate::cluster::ClusterManager>>,
27 clickhouse_client: clickhouse::Client,
28 shared_state_for_server: Arc<RwLock<SharedState>>,
29) -> Result<(), Box<dyn std::error::Error>> {
30 let auth_config = super::create_auth_config();
31 let rocket_with_routes = build_rocket(
32 port,
33 db_manager,
34 pool,
35 cluster_manager,
36 clickhouse_client,
37 shared_state_for_server,
38 auth_config,
39 );
40 log::info!("{}", "🚀 LAUNCHING SERVER...".bright_cyan().bold());
41 rocket_with_routes.launch().await?;
42 Ok(())
43}