From 42e99fb3eb4a57c2e2a53dbf6f017f56319e0e3e Mon Sep 17 00:00:00 2001 From: Artiom Tretjakovas Date: Mon, 9 Feb 2026 00:29:20 +0200 Subject: [PATCH] Disable HTTP server if `metrics` not specified Currently HTTP server is needed only to serve prometheus metrics. Also, node will no longer crash when HTTP server crashes unexpectedly, as it is not necessary for properly functioning node. --- lean_client/src/main.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lean_client/src/main.rs b/lean_client/src/main.rs index fe39572..c99ea35 100644 --- a/lean_client/src/main.rs +++ b/lean_client/src/main.rs @@ -12,7 +12,7 @@ use fork_choice::{ }; use http_api::HttpServerConfig; use libp2p_identity::Keypair; -use metrics::{METRICS, Metrics, MetricsServerConfig}; +use metrics::{METRICS, Metrics}; use networking::gossipsub::config::GossipsubConfig; use networking::gossipsub::topic::get_topics; use networking::network::{NetworkService, NetworkServiceConfig}; @@ -377,9 +377,11 @@ async fn main() -> Result<()> { let chain_outbound_sender = outbound_p2p_sender.clone(); - let http_handle = task::spawn(async move { - if let Err(err) = http_api::run_server(args.http_config).await { - error!("HTTP Server failed with error: {err:?}"); + task::spawn(async move { + if args.http_config.metrics_enabled() { + if let Err(err) = http_api::run_server(args.http_config).await { + error!("HTTP Server failed with error: {err:?}"); + } } }); @@ -606,9 +608,6 @@ async fn main() -> Result<()> { _ = chain_handle => { info!("Chain service finished."); } - _ = http_handle => { - info!("Http service finished."); - } } info!("Main async task exiting...");