mod registry; mod routes; use anyhow::Result; use std::{net::SocketAddr, path::PathBuf}; #[tokio::main] async fn main() -> Result<()> { let config_path = std::env::args() .nth(1) .map(PathBuf::from) .unwrap_or_else(|| PathBuf::from("archivr-server.toml")); let registry = registry::load_registry(&config_path)?; let app = routes::app(registry); let addr = SocketAddr::from(([127, 0, 0, 1], 8080)); let listener = tokio::net::TcpListener::bind(addr).await?; println!("archivr-server listening on http://{addr}"); axum::serve(listener, app).await?; Ok(()) }