From 537c3be9e26b2c65f2d5e1801ce0bd88bc7c7b42 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 26 Oct 2026 15:22:24 +0800 Subject: [PATCH] feat(cmd): add `--http-api-server-addr` CLI flags [Backport release/v1.3] (#9874) feat(cmd): add `--http-api-server-addr` CLI flags (#9512) * feat(cmd): add --enable-api-server and --api-server-addr CLI flags * apply suggestion --------- Signed-off-by: liyang --- src/cmd/src/frontend.rs | 9 +++++++++ src/cmd/src/standalone.rs | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/src/cmd/src/frontend.rs b/src/cmd/src/frontend.rs index b000f7e1f02..83c16ffc2dc 100644 --- a/src/cmd/src/frontend.rs +++ b/src/cmd/src/frontend.rs @@ -212,6 +212,10 @@ pub struct StartCommand { internal_grpc_server_addr: Option, #[clap(long)] http_addr: Option, + /// The address to bind the dedicated public HTTP API server. Setting this + /// flag also enables the API server. + #[clap(long)] + http_api_server_addr: Option, #[clap(long)] http_timeout: Option, #[clap(long)] @@ -301,6 +305,11 @@ impl StartCommand { opts.http.disable_dashboard = disable_dashboard; } + if let Some(addr) = &self.http_api_server_addr { + opts.http.api_server_addr.clone_from(addr); + opts.http.enable_api_server = true; + } + if let Some(addr) = &self.grpc_bind_addr { opts.grpc.bind_addr.clone_from(addr); opts.grpc.tls = merge_tls_option(&opts.grpc.tls, tls_opts.clone()); diff --git a/src/cmd/src/standalone.rs b/src/cmd/src/standalone.rs index 60556428117..f96f5bef57d 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -277,6 +277,10 @@ impl App for Instance { pub struct StartCommand { #[clap(long)] http_addr: Option, + /// The address to bind the dedicated public HTTP API server. Setting this + /// flag also enables the API server. + #[clap(long)] + http_api_server_addr: Option, #[clap(long = "grpc-bind-addr", alias = "rpc-bind-addr", alias = "rpc-addr")] grpc_bind_addr: Option, #[clap(long)] @@ -367,6 +371,11 @@ impl StartCommand { opts.http.addr.clone_from(addr); } + if let Some(addr) = &self.http_api_server_addr { + opts.http.api_server_addr.clone_from(addr); + opts.http.enable_api_server = true; + } + if let Some(data_home) = &self.data_home { opts.storage.data_home.clone_from(data_home); }