fix: frontend opt should respect http addr in config file when no com… (#1456)

* fix: frontend opt should respect http addr in config file when no command options is given

* refactor: command line options should be Option<bool>

* fix: ci
This commit is contained in:
Lei, HUANG
2023-04-25 11:43:42 +08:00
committed by GitHub
parent f9ea6b63bf
commit 92c0808766

View File

@@ -26,7 +26,6 @@ use frontend::postgres::PostgresOptions;
use frontend::prom::PromOptions; use frontend::prom::PromOptions;
use meta_client::MetaClientOptions; use meta_client::MetaClientOptions;
use servers::auth::UserProviderRef; use servers::auth::UserProviderRef;
use servers::http::HttpOptions;
use servers::tls::{TlsMode, TlsOption}; use servers::tls::{TlsMode, TlsOption};
use servers::{auth, Mode}; use servers::{auth, Mode};
use snafu::ResultExt; use snafu::ResultExt;
@@ -108,7 +107,7 @@ pub struct StartCommand {
#[clap(long)] #[clap(long)]
user_provider: Option<String>, user_provider: Option<String>,
#[clap(long)] #[clap(long)]
disable_dashboard: bool, disable_dashboard: Option<bool>,
} }
impl StartCommand { impl StartCommand {
@@ -151,16 +150,15 @@ impl TryFrom<StartCommand> for FrontendOptions {
let tls_option = TlsOption::new(cmd.tls_mode, cmd.tls_cert_path, cmd.tls_key_path); 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 { 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 { if let Some(addr) = cmd.grpc_addr {
opts.grpc_options = Some(GrpcOptions { opts.grpc_options = Some(GrpcOptions {
@@ -235,7 +233,7 @@ mod tests {
tls_cert_path: None, tls_cert_path: None,
tls_key_path: None, tls_key_path: None,
user_provider: None, user_provider: None,
disable_dashboard: false, disable_dashboard: Some(false),
}; };
let opts: FrontendOptions = command.try_into().unwrap(); let opts: FrontendOptions = command.try_into().unwrap();
@@ -298,7 +296,7 @@ mod tests {
tls_cert_path: None, tls_cert_path: None,
tls_key_path: None, tls_key_path: None,
user_provider: None, user_provider: None,
disable_dashboard: false, disable_dashboard: Some(false),
}; };
let fe_opts = FrontendOptions::try_from(command).unwrap(); let fe_opts = FrontendOptions::try_from(command).unwrap();
@@ -329,7 +327,7 @@ mod tests {
tls_cert_path: None, tls_cert_path: None,
tls_key_path: None, tls_key_path: None,
user_provider: Some("static_user_provider:cmd:test=test".to_string()), 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); let plugins = load_frontend_plugins(&command.user_provider);