start using actix for interface

This commit is contained in:
2023-07-17 23:19:03 +02:00
parent e3422ed255
commit 2023666c15
8 changed files with 767 additions and 43 deletions

27
src/controller/mod.rs Normal file
View File

@@ -0,0 +1,27 @@
use bollard::Docker;
use crate::deploy;
pub struct Controller {
driver: Docker,
network: String,
}
impl Controller {
pub async fn new(driver: Docker, network: String, range: String) -> Result<Self, bollard::errors::Error>{
deploy::network::Network::new(driver.clone(), network.clone(), range).await?;
Ok(Controller {
driver: driver,
network: network,
})
}
pub async fn create_container(&self, domain: String, ip: String) -> String {
match deploy::container::Container::new(self.driver.clone(),
domain,
ip,
self.network.clone()).await {
Ok(c) => c.get_id(),
Err(e) => "error creating container".to_string(),
}
}
}