Files
k-photos/crates/bootstrap/src/main.rs
Gabriel Kaszewski a6b86c23d8 feat: wire remaining handlers — tag, quota, register asset, sidecar, processing
14 new endpoints: POST tags, GET quota, POST register, 6 sidecar, 7 processing.
DTOs, AppState groups, LogSidecarWriter, full bootstrap wiring.
2026-05-31 11:04:22 +02:00

31 lines
830 B
Rust

use std::net::SocketAddr;
use tracing::info;
mod config;
mod factory;
mod log_event_publisher;
mod log_sidecar_writer;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt()
.with_env_filter(
tracing_subscriber::EnvFilter::from_default_env()
.add_directive("bootstrap=info".parse()?)
.add_directive("tower_http=debug".parse()?),
)
.init();
let config = config::Config::from_env();
let app = factory::build_app(&config).await?;
let addr: SocketAddr = format!("{}:{}", config.host, config.port).parse()?;
let listener = tokio::net::TcpListener::bind(addr).await?;
info!("Server running at http://{addr}");
info!("Scalar docs at http://{addr}/scalar");
axum::serve(listener, app).await?;
Ok(())
}