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);