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 76c95c26d32..ca0f3b74057 100644 --- a/src/cmd/src/standalone.rs +++ b/src/cmd/src/standalone.rs @@ -328,6 +328,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)] @@ -418,6 +422,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); }