progress
This commit is contained in:
@ -2,10 +2,10 @@ use anyhow::Error;
|
||||
use config::{Config, File};
|
||||
use lnvps::api;
|
||||
use lnvps::cors::CORS;
|
||||
use lnvps::provisioner::Provisioner;
|
||||
use lnvps::provisioner::{LNVpsProvisioner, Provisioner};
|
||||
use lnvps_db::{LNVpsDb, LNVpsDbMysql};
|
||||
use log::error;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use sqlx::{Executor, MySqlPool};
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize)]
|
||||
pub struct Settings {
|
||||
@ -17,13 +17,14 @@ async fn main() -> Result<(), Error> {
|
||||
pretty_env_logger::init();
|
||||
|
||||
let config: Settings = Config::builder()
|
||||
.add_source(File::with_name("config.toml"))
|
||||
.add_source(File::with_name("config.yaml"))
|
||||
.build()?
|
||||
.try_deserialize()?;
|
||||
|
||||
let db = MySqlPool::connect(&config.db).await?;
|
||||
sqlx::migrate!().run(&db).await?;
|
||||
let provisioner = Provisioner::new(db.clone());
|
||||
let db = LNVpsDbMysql::new(&config.db).await?;
|
||||
db.migrate().await?;
|
||||
|
||||
let provisioner = LNVpsProvisioner::new(db.clone());
|
||||
#[cfg(debug_assertions)]
|
||||
{
|
||||
let setup_script = include_str!("../../dev_setup.sql");
|
||||
@ -31,9 +32,12 @@ async fn main() -> Result<(), Error> {
|
||||
provisioner.auto_discover().await?;
|
||||
}
|
||||
|
||||
let db: Box<dyn LNVpsDb> = Box::new(db.clone());
|
||||
let pv: Box<dyn Provisioner> = Box::new(provisioner);
|
||||
if let Err(e) = rocket::build()
|
||||
.attach(CORS)
|
||||
.manage(provisioner)
|
||||
.manage(db)
|
||||
.manage(pv)
|
||||
.mount("/", api::routes())
|
||||
.launch()
|
||||
.await
|
||||
|
Reference in New Issue
Block a user