xbp 10.17.1

XBP is a zero-config build pack that can also interact with proxies, kafka, sockets, synthetic monitors.
Documentation
use crate::cli::commands;
use crate::cli::error::CliResult;
use crate::commands::install_api_service;
use crate::logging::{log_error, log_success};

pub async fn handle_api(cmd: commands::ApiCmd, debug: bool) -> CliResult<()> {
    match cmd.command {
        commands::ApiSubCommand::Install { port } => {
            if let Err(e) = install_api_service(port, debug).await {
                let _ = log_error("api", "API systemd install failed", Some(&e)).await;
                return Err(e.into());
            }
            let _ = log_success(
                "api",
                &format!("xbp-api.service installed on port {}", port),
                None,
            )
            .await;
        }
    }
    Ok(())
}