use bzzz_core::runtime::health::{HealthServer, HealthStatus};
use std::env;
pub async fn execute(port: Option<u16>) -> anyhow::Result<()> {
let port = port
.or_else(|| {
env::var("BZZZ_HEALTH_PORT")
.ok()
.and_then(|p| p.parse().ok())
})
.unwrap_or(8080);
let addr = format!("0.0.0.0:{}", port).parse()?;
let server = HealthServer::new(addr);
server.set_status(HealthStatus::Healthy).await;
server.start().await?;
tracing::info!("Health server listening on 0.0.0.0:{}", port);
tokio::signal::ctrl_c().await.ok();
server.stop().await;
tracing::info!("Health server stopped");
Ok(())
}