//! HTTP server — single axum app that serves: //! - `/` the web UI (static assets from `openpxe-webui`) //! - `/api/*` JSON API for the web UI //! - `/boot.ipxe` the generated top-level iPXE boot menu //! - `/boot/.ipxe` per-entry iPXE scripts (one per boot target) //! - `/ipxe/` bundled iPXE binaries (for UEFI HTTP boot) //! - `/iso/.iso` raw ISO file (with Range support) //! - `/iso//` files inside the ISO (for wimboot WIM fetches //! and Linux kernel/initrd, without having to //! re-extract on every request) //! //! The `/` handler uses a read-only ISO9660 shim (see `iso_fs`) //! that lseeks into the ISO on disk — so we never keep extracted copies. #![forbid(unsafe_code)] pub mod app; pub mod auth; pub mod error; pub mod ipxe_script; pub mod iso_fs; pub mod log_stream; pub mod notify; pub mod saml_routes; pub mod state; pub mod terminal; pub mod uploads; pub use app::build_router; pub use state::AppState;