use molten_api::startup::Application;
use molten_api::telemetry::{get_subscriber, init_subscriber};
use molten_config::settings_parser::get_configuration;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
dotenvy::dotenv().ok();
let subscriber = get_subscriber("molten-api=info,tower-http=info".into(), std::io::stdout);
init_subscriber(subscriber);
let _guard = tracing::info_span!("app", service = "molten-api").entered();
let config = get_configuration().expect("Failed to parse configuration settings");
let app = Application::build(config).await?;
app.run().await?;
Ok(())
}