From 0a8d49bd0ca3786ebe950c8bf5d7d36c84b0e859 Mon Sep 17 00:00:00 2001 From: Orbital Date: Mon, 6 May 2024 06:31:34 -0500 Subject: [PATCH] main: add grpc server config option --- config_spec.toml | 6 ++++++ src/cli.rs | 6 +++++- src/main.rs | 14 +++++++++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/config_spec.toml b/config_spec.toml index 366021c4..7ac9a5d7 100644 --- a/config_spec.toml +++ b/config_spec.toml @@ -31,3 +31,9 @@ name = "log_level" type = "String" optional = true doc = "The log verbosity level. This can be set to either 'error', 'warn', 'info', 'debug' or 'trace'." + +[[param]] +name = "grpc_port" +type = "u16" +optional = true +doc = "The port the grpc server will run on. Defaults to 7000." diff --git a/src/cli.rs b/src/cli.rs index 7fc66387..351c3276 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -44,6 +44,9 @@ struct Cli { #[arg(short, long, global = true, required = false, default_value = get_macaroon_path_default())] macaroon: String, + #[arg(short, long, global = true, required = false, default_value = DEFAULT_SERVER_PORT.to_string())] + grpc_port: u16, + #[arg( short, long, @@ -101,7 +104,8 @@ async fn main() -> Result<(), ()> { ref offer_string, amount, } => { - let mut client = OffersClient::connect(format!("http://[::1]:{DEFAULT_SERVER_PORT}")) + let grpc_port = args.grpc_port; + let mut client = OffersClient::connect(format!("http://[::1]:{grpc_port}")) .await .map_err(|e| { println!("ERROR: connecting to server {:?}.", e); diff --git a/src/main.rs b/src/main.rs index f084941a..ca3dfad9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,16 +52,20 @@ async fn main() -> Result<(), ()> { .expect("failed to get info") .into_inner(); - let addr = format!("[::1]:{DEFAULT_SERVER_PORT}") - .parse() - .map_err(|e| { - error!("Error parsing API address: {e}"); - })?; + let grpc_port = match config.grpc_port { + Some(port) => port, + None => DEFAULT_SERVER_PORT, + }; + let addr = format!("[::1]:{grpc_port}").parse().map_err(|e| { + error!("Error parsing API address: {e}"); + })?; let server = LNDKServer::new(Arc::clone(&handler), &info.identity_pubkey).await; let server_fut = Server::builder() .add_service(OffersServer::new(server)) .serve(addr); + info!("Starting lndk's grpc server on port {grpc_port}"); + select! { _ = messenger.run(args, Arc::clone(&handler)) => { info!("Onion messenger completed");