From 92c0808766b8bb04d231bcfa2d54f4b09725eb76 Mon Sep 17 00:00:00 2001 From: "Lei, HUANG" <6406592+v0y4g3r@users.noreply.github.com> Date: Tue, 25 Apr 2023 11:43:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20frontend=20opt=20should=20respect=20http?= =?UTF-8?q?=20addr=20in=20config=20file=20when=20no=20com=E2=80=A6=20(#145?= =?UTF-8?q?6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: frontend opt should respect http addr in config file when no command options is given * refactor: command line options should be Option * fix: ci --- src/cmd/src/frontend.rs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/cmd/src/frontend.rs b/src/cmd/src/frontend.rs index 01c7894d66..9413ab0cad 100644 --- a/src/cmd/src/frontend.rs +++ b/src/cmd/src/frontend.rs @@ -26,7 +26,6 @@ use frontend::postgres::PostgresOptions; use frontend::prom::PromOptions; use meta_client::MetaClientOptions; use servers::auth::UserProviderRef; -use servers::http::HttpOptions; use servers::tls::{TlsMode, TlsOption}; use servers::{auth, Mode}; use snafu::ResultExt; @@ -108,7 +107,7 @@ pub struct StartCommand { #[clap(long)] user_provider: Option, #[clap(long)] - disable_dashboard: bool, + disable_dashboard: Option, } impl StartCommand { @@ -151,16 +150,15 @@ impl TryFrom for FrontendOptions { let tls_option = TlsOption::new(cmd.tls_mode, cmd.tls_cert_path, cmd.tls_key_path); - let mut http_options = HttpOptions { - disable_dashboard: cmd.disable_dashboard, - ..Default::default() - }; - if let Some(addr) = cmd.http_addr { - http_options.addr = addr; + opts.http_options.get_or_insert_with(Default::default).addr = addr; } - opts.http_options = Some(http_options); + if let Some(disable_dashboard) = cmd.disable_dashboard { + opts.http_options + .get_or_insert_with(Default::default) + .disable_dashboard = disable_dashboard; + } if let Some(addr) = cmd.grpc_addr { opts.grpc_options = Some(GrpcOptions { @@ -235,7 +233,7 @@ mod tests { tls_cert_path: None, tls_key_path: None, user_provider: None, - disable_dashboard: false, + disable_dashboard: Some(false), }; let opts: FrontendOptions = command.try_into().unwrap(); @@ -298,7 +296,7 @@ mod tests { tls_cert_path: None, tls_key_path: None, user_provider: None, - disable_dashboard: false, + disable_dashboard: Some(false), }; let fe_opts = FrontendOptions::try_from(command).unwrap(); @@ -329,7 +327,7 @@ mod tests { tls_cert_path: None, tls_key_path: None, user_provider: Some("static_user_provider:cmd:test=test".to_string()), - disable_dashboard: false, + disable_dashboard: Some(false), }; let plugins = load_frontend_plugins(&command.user_provider);