Can query hypervisor information
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
use actix::Actor;
|
||||
use actix_cors::Cors;
|
||||
use actix_identity::config::LogoutBehaviour;
|
||||
use actix_identity::IdentityMiddleware;
|
||||
@ -13,12 +14,14 @@ use actix_web::web::Data;
|
||||
use actix_web::{web, App, HttpServer};
|
||||
use light_openid::basic_state_manager::BasicStateManager;
|
||||
use std::time::Duration;
|
||||
use virtweb_backend::actors::libvirt_actor::LibVirtActor;
|
||||
use virtweb_backend::app_config::AppConfig;
|
||||
use virtweb_backend::constants;
|
||||
use virtweb_backend::constants::{
|
||||
MAX_INACTIVITY_DURATION, MAX_SESSION_DURATION, SESSION_COOKIE_NAME,
|
||||
};
|
||||
use virtweb_backend::controllers::{auth_controller, iso_controller, server_controller};
|
||||
use virtweb_backend::libvirt_client::LibVirtClient;
|
||||
use virtweb_backend::middlewares::auth_middleware::AuthChecker;
|
||||
use virtweb_backend::utils::files_utils;
|
||||
|
||||
@ -29,6 +32,13 @@ async fn main() -> std::io::Result<()> {
|
||||
log::debug!("Create required directory, if missing");
|
||||
files_utils::create_directory_if_missing(&AppConfig::get().iso_storage_path()).unwrap();
|
||||
|
||||
let conn = Data::new(LibVirtClient(
|
||||
LibVirtActor::connect()
|
||||
.await
|
||||
.expect("Failed to connect to hypervisor!")
|
||||
.start(),
|
||||
));
|
||||
|
||||
log::info!("Start to listen on {}", AppConfig::get().listen_address);
|
||||
|
||||
let state_manager = Data::new(BasicStateManager::new());
|
||||
@ -69,6 +79,7 @@ async fn main() -> std::io::Result<()> {
|
||||
.app_data(Data::new(RemoteIPConfig {
|
||||
proxy: AppConfig::get().proxy_ip.clone(),
|
||||
}))
|
||||
.app_data(conn.clone())
|
||||
// Uploaded files
|
||||
.app_data(MultipartFormConfig::default().total_limit(constants::ISO_MAX_SIZE))
|
||||
.app_data(TempFileConfig::default().directory(&AppConfig::get().temp_dir))
|
||||
@ -78,6 +89,10 @@ async fn main() -> std::io::Result<()> {
|
||||
"/api/server/static_config",
|
||||
web::get().to(server_controller::static_config),
|
||||
)
|
||||
.route(
|
||||
"/api/server/info",
|
||||
web::get().to(server_controller::server_info),
|
||||
)
|
||||
// Auth controller
|
||||
.route(
|
||||
"/api/auth/local",
|
||||
|
Reference in New Issue
Block a user