diff --git a/Cargo.lock b/Cargo.lock index 48f68ebd..16d03fe2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -122,6 +122,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +[[package]] +name = "cc" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + [[package]] name = "cfg-if" version = "1.0.0" @@ -138,6 +144,7 @@ dependencies = [ "clap_derive", "clap_lex", "once_cell", + "terminal_size", ] [[package]] @@ -300,6 +307,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "ff" version = "0.12.0" @@ -498,6 +526,12 @@ dependencies = [ "want", ] +[[package]] +name = "io-lifetimes" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06" + [[package]] name = "itoa" version = "1.0.3" @@ -525,6 +559,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" +[[package]] +name = "linux-raw-sys" +version = "0.0.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" + [[package]] name = "log" version = "0.4.17" @@ -919,6 +959,20 @@ dependencies = [ "semver", ] +[[package]] +name = "rustix" +version = "0.35.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb2fda4666def1433b1b05431ab402e42a1084285477222b72d6c564c417cef" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + [[package]] name = "rustls-pemfile" version = "0.3.0" @@ -1122,6 +1176,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" +[[package]] +name = "terminal_size" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8440c860cf79def6164e4a0a983bcc2305d82419177a0e0c71930d049e3ac5a1" +dependencies = [ + "rustix", + "windows-sys", +] + [[package]] name = "testaso" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 04c05c26..88f38acc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ rand = { version = "0.8", features = ["std"], default-features = false } tracing-subscriber = { version="^0.3.15", features = ["env-filter", "json", "fmt"], default-features = false } tower-http = { version = "^0.3.0", features = ["trace"], default-features = false } axum = { version = "^0.5.16", features = ["headers"], default-features = false } -clap = { version = "^4.0.17", features = ["std", "derive", "env"], default-features = false } +clap = { version = "^4.0.17", features = ["help", "usage", "error-context", "std", "derive", "env"], default-features = false } hyper = { git = "https://github.com/rjzak/hyper", branch = "wasi_wip", features = ["http1", "server"], default-features = false } tokio = { version = "^1.21.2", features = ["rt", "macros"], default-features = false } uuid = { version = "^0.8.2", features = ["v4"], default-features = false } diff --git a/src/main.rs b/src/main.rs index a4551224..63e013b8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -66,24 +66,24 @@ const BUNDLE: &str = "application/vnd.steward.pkcs10-bundle.v1"; /// The configuration file must contain valid TOML table mapping argument /// names to their values. #[derive(Clone, Debug, Parser)] -#[clap(author, version, about)] +#[command(author, version, about)] struct Args { - #[clap(short, long, env = "STEWARD_KEY")] + #[arg(short, long, env = "STEWARD_KEY")] key: Option, - #[clap(short, long, env = "STEWARD_CRT")] + #[arg(short, long, env = "STEWARD_CRT")] crt: Option, - #[clap(short, long, env = "ROCKET_PORT", default_value = "3000")] + #[arg(short, long, env = "ROCKET_PORT", default_value = "3000")] port: u16, - #[clap(short, long, env = "ROCKET_ADDRESS", default_value = "::")] + #[arg(short, long, env = "ROCKET_ADDRESS", default_value = "::")] addr: IpAddr, - #[clap(short, long, env = "RENDER_EXTERNAL_HOSTNAME")] + #[arg(long, env = "RENDER_EXTERNAL_HOSTNAME")] host: Option, - #[clap(long, env = "STEWARD_SAN")] + #[arg(long, env = "STEWARD_SAN")] san: Option, }