diff --git a/compute_tools/src/bin/zenith_ctl.rs b/compute_tools/src/bin/zenith_ctl.rs index 49ba653fa1..7eba4e6011 100644 --- a/compute_tools/src/bin/zenith_ctl.rs +++ b/compute_tools/src/bin/zenith_ctl.rs @@ -160,7 +160,7 @@ fn main() -> Result<()> { // Env variable is set by `cargo` let version: Option<&str> = option_env!("CARGO_PKG_VERSION"); - let matches = clap::App::new("zenith_ctl") + let matches = clap::Command::new("zenith_ctl") .version(version.unwrap_or("unknown")) .arg( Arg::new("connstr") diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index 005be49c7e..5d668ded86 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -13,7 +13,7 @@ use zenith_utils::{ use anyhow::{bail, Context, Result}; -use clap::{App, Arg}; +use clap::{Arg, Command}; use daemonize::Daemonize; use pageserver::{ @@ -31,7 +31,7 @@ use zenith_utils::signals::{self, Signal}; fn main() -> anyhow::Result<()> { zenith_metrics::set_common_metrics_prefix("pageserver"); - let arg_matches = App::new("Zenith page server") + let arg_matches = Command::new("Zenith page server") .about("Materializes WAL stream to pages and serves them to the postgres") .version(GIT_VERSION) .arg( diff --git a/proxy/src/main.rs b/proxy/src/main.rs index bd99d0a639..7b38721a88 100644 --- a/proxy/src/main.rs +++ b/proxy/src/main.rs @@ -6,7 +6,7 @@ /// in somewhat transparent manner (again via communication with control plane API). /// use anyhow::{bail, Context}; -use clap::{App, Arg}; +use clap::{Arg, Command}; use config::ProxyConfig; use futures::FutureExt; use std::future::Future; @@ -37,7 +37,7 @@ async fn flatten_err( #[tokio::main] async fn main() -> anyhow::Result<()> { zenith_metrics::set_common_metrics_prefix("zenith_proxy"); - let arg_matches = App::new("Zenith proxy/router") + let arg_matches = Command::new("Zenith proxy/router") .version(GIT_VERSION) .arg( Arg::new("proxy") diff --git a/walkeeper/src/bin/safekeeper.rs b/walkeeper/src/bin/safekeeper.rs index b3087a1004..5ee7b1d55b 100644 --- a/walkeeper/src/bin/safekeeper.rs +++ b/walkeeper/src/bin/safekeeper.rs @@ -2,7 +2,7 @@ // Main entry point for the safekeeper executable // use anyhow::{bail, Context, Result}; -use clap::{App, Arg}; +use clap::{Arg, Command}; use const_format::formatcp; use daemonize::Daemonize; use fs2::FileExt; @@ -32,7 +32,7 @@ const ID_FILE_NAME: &str = "safekeeper.id"; fn main() -> Result<()> { zenith_metrics::set_common_metrics_prefix("safekeeper"); - let arg_matches = App::new("Zenith safekeeper") + let arg_matches = Command::new("Zenith safekeeper") .about("Store WAL stream to local file system and push it to WAL receivers") .version(GIT_VERSION) .arg( diff --git a/zenith/src/main.rs b/zenith/src/main.rs index f5d4184e63..ec1e87346d 100644 --- a/zenith/src/main.rs +++ b/zenith/src/main.rs @@ -1,5 +1,5 @@ use anyhow::{anyhow, bail, Context, Result}; -use clap::{App, AppSettings, Arg, ArgMatches}; +use clap::{Arg, ArgMatches, Command}; use control_plane::compute::ComputeControlPlane; use control_plane::local_env; use control_plane::local_env::LocalEnv; @@ -123,11 +123,11 @@ fn main() -> Result<()> { .takes_value(true) .required(false); - let matches = App::new("Zenith CLI") - .setting(AppSettings::ArgRequiredElseHelp) + let matches = Command::new("Zenith CLI") + .arg_required_else_help(true) .version(GIT_VERSION) .subcommand( - App::new("init") + Command::new("init") .about("Initialize a new Zenith repository") .arg(pageserver_config_args.clone()) .arg(timeline_id_arg.clone().help("Use a specific timeline id when creating a tenant and its initial timeline")) @@ -139,12 +139,12 @@ fn main() -> Result<()> { ) ) .subcommand( - App::new("timeline") + Command::new("timeline") .about("Manage timelines") - .subcommand(App::new("list") + .subcommand(Command::new("list") .about("List all timelines, available to this pageserver") .arg(tenant_id_arg.clone())) - .subcommand(App::new("branch") + .subcommand(Command::new("branch") .about("Create a new timeline, using another timeline as a base, copying its data") .arg(tenant_id_arg.clone()) .arg(branch_name_arg.clone()) @@ -152,55 +152,55 @@ fn main() -> Result<()> { .help("Use last Lsn of another timeline (and its data) as base when creating the new timeline. The timeline gets resolved by its branch name.").required(false)) .arg(Arg::new("ancestor-start-lsn").long("ancestor-start-lsn").takes_value(true) .help("When using another timeline as base, use a specific Lsn in it instead of the latest one").required(false))) - .subcommand(App::new("create") + .subcommand(Command::new("create") .about("Create a new blank timeline") .arg(tenant_id_arg.clone()) .arg(branch_name_arg.clone())) ).subcommand( - App::new("tenant") - .setting(AppSettings::ArgRequiredElseHelp) + Command::new("tenant") + .arg_required_else_help(true) .about("Manage tenants") - .subcommand(App::new("list")) - .subcommand(App::new("create") + .subcommand(Command::new("list")) + .subcommand(Command::new("create") .arg(tenant_id_arg.clone()) .arg(timeline_id_arg.clone().help("Use a specific timeline id when creating a tenant and its initial timeline")) ) ) .subcommand( - App::new("pageserver") - .setting(AppSettings::ArgRequiredElseHelp) + Command::new("pageserver") + .arg_required_else_help(true) .about("Manage pageserver") - .subcommand(App::new("status")) - .subcommand(App::new("start").about("Start local pageserver").arg(pageserver_config_args.clone())) - .subcommand(App::new("stop").about("Stop local pageserver") + .subcommand(Command::new("status")) + .subcommand(Command::new("start").about("Start local pageserver").arg(pageserver_config_args.clone())) + .subcommand(Command::new("stop").about("Stop local pageserver") .arg(stop_mode_arg.clone())) - .subcommand(App::new("restart").about("Restart local pageserver").arg(pageserver_config_args.clone())) + .subcommand(Command::new("restart").about("Restart local pageserver").arg(pageserver_config_args.clone())) ) .subcommand( - App::new("safekeeper") - .setting(AppSettings::ArgRequiredElseHelp) + Command::new("safekeeper") + .arg_required_else_help(true) .about("Manage safekeepers") - .subcommand(App::new("start") + .subcommand(Command::new("start") .about("Start local safekeeper") .arg(safekeeper_id_arg.clone()) ) - .subcommand(App::new("stop") + .subcommand(Command::new("stop") .about("Stop local safekeeper") .arg(safekeeper_id_arg.clone()) .arg(stop_mode_arg.clone()) ) - .subcommand(App::new("restart") + .subcommand(Command::new("restart") .about("Restart local safekeeper") .arg(safekeeper_id_arg.clone()) .arg(stop_mode_arg.clone()) ) ) .subcommand( - App::new("pg") - .setting(AppSettings::ArgRequiredElseHelp) + Command::new("pg") + .arg_required_else_help(true) .about("Manage postgres instances") - .subcommand(App::new("list").arg(tenant_id_arg.clone())) - .subcommand(App::new("create") + .subcommand(Command::new("list").arg(tenant_id_arg.clone())) + .subcommand(Command::new("create") .about("Create a postgres compute node") .arg(pg_node_arg.clone()) .arg(branch_name_arg.clone()) @@ -213,7 +213,7 @@ fn main() -> Result<()> { .long("config-only") .required(false) )) - .subcommand(App::new("start") + .subcommand(Command::new("start") .about("Start a postgres compute node.\n This command actually creates new node from scratch, but preserves existing config files") .arg(pg_node_arg.clone()) .arg(tenant_id_arg.clone()) @@ -222,7 +222,7 @@ fn main() -> Result<()> { .arg(lsn_arg.clone()) .arg(port_arg.clone())) .subcommand( - App::new("stop") + Command::new("stop") .arg(pg_node_arg.clone()) .arg(tenant_id_arg.clone()) .arg( @@ -235,12 +235,12 @@ fn main() -> Result<()> { ) .subcommand( - App::new("start") + Command::new("start") .about("Start page server and safekeepers") .arg(pageserver_config_args) ) .subcommand( - App::new("stop") + Command::new("stop") .about("Stop page server and safekeepers") .arg(stop_mode_arg.clone()) )