mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
feat: idm v2 (#102)
* feat: rebuild idm to separate transport from content * feat: fast guest lookup table and host identification
This commit is contained in:
36
crates/daemon/src/command.rs
Normal file
36
crates/daemon/src/command.rs
Normal file
@ -0,0 +1,36 @@
|
||||
use anyhow::Result;
|
||||
use clap::{CommandFactory, Parser};
|
||||
use krata::dial::ControlDialAddress;
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::Daemon;
|
||||
|
||||
#[derive(Parser)]
|
||||
#[command(version, about = "Krata hypervisor daemon")]
|
||||
pub struct DaemonCommand {
|
||||
#[arg(
|
||||
short,
|
||||
long,
|
||||
default_value = "unix:///var/lib/krata/daemon.socket",
|
||||
help = "Listen address"
|
||||
)]
|
||||
listen: String,
|
||||
#[arg(short, long, default_value = "/var/lib/krata", help = "Storage path")]
|
||||
store: String,
|
||||
}
|
||||
|
||||
impl DaemonCommand {
|
||||
pub async fn run(self) -> Result<()> {
|
||||
let addr = ControlDialAddress::from_str(&self.listen)?;
|
||||
let mut daemon = Daemon::new(self.store.clone()).await?;
|
||||
daemon.listen(addr).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn version() -> String {
|
||||
DaemonCommand::command()
|
||||
.get_version()
|
||||
.unwrap_or("unknown")
|
||||
.to_string()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user