krata-ctl 0.0.21

Command-line tool to control the krata isolation engine
Documentation
use anyhow::Result;
use clap::Parser;
use krata::v1::control::{
    control_service_client::ControlServiceClient, ReadHypervisorConsoleRequest,
};

use tonic::{transport::Channel, Request};

#[derive(Parser)]
#[command(about = "Display hypervisor console output")]
pub struct HostHvConsoleCommand {}

impl HostHvConsoleCommand {
    pub async fn run(self, mut client: ControlServiceClient<Channel>) -> Result<()> {
        let response = client
            .read_hypervisor_console(Request::new(ReadHypervisorConsoleRequest {}))
            .await?
            .into_inner();

        print!("{}", response.data);
        Ok(())
    }
}