fix: clap CLI definitions and manpage generation

- add #[group(skip)] to all Parser-derived structs
- fix conflicts_with and arg definitions for correct CLI behavior
- refactor bin entry points to support manpage generation
This commit is contained in:
Aiden McClelland
2026-03-18 23:48:13 -06:00
parent b1b7d2fa70
commit bcdeabfe85
471 changed files with 8753 additions and 50 deletions

View File

@@ -117,6 +117,7 @@ impl SessionAuthContext for TunnelContext {
}
#[derive(Clone, Debug, Deserialize, Serialize, HasModel, TS, Parser)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[model = "Model<Self>"]
pub struct SignerInfo {
@@ -182,6 +183,7 @@ pub fn auth_api<C: Context>() -> ParentHandler<C> {
}
#[derive(Debug, Deserialize, Serialize, Parser, TS)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
pub struct AddKeyParams {
pub name: InternedString,
@@ -204,6 +206,7 @@ pub async fn add_key(
}
#[derive(Debug, Deserialize, Serialize, Parser, TS)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
pub struct RemoveKeyParams {
pub key: AnyVerifyingKey,

View File

@@ -172,6 +172,7 @@ pub fn db_api<C: Context>() -> ParentHandler<C> {
}
#[derive(Deserialize, Serialize, Parser)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[command(rename_all = "kebab-case")]
pub struct CliDumpParams {
@@ -206,6 +207,7 @@ async fn cli_dump(
}
#[derive(Deserialize, Serialize, Parser, TS)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[command(rename_all = "kebab-case")]
pub struct DumpParams {
@@ -222,6 +224,7 @@ pub async fn dump(ctx: TunnelContext, DumpParams { pointer }: DumpParams) -> Res
}
#[derive(Deserialize, Serialize, Parser)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[command(rename_all = "kebab-case")]
pub struct CliApplyParams {
@@ -279,6 +282,7 @@ async fn cli_apply(
}
#[derive(Deserialize, Serialize, Parser, TS)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[command(rename_all = "kebab-case")]
pub struct ApplyParams {

View File

@@ -278,6 +278,7 @@ pub async fn import_certificate_cli(
}
#[derive(Debug, Deserialize, Serialize, Parser)]
#[group(skip)]
pub struct GenerateCertParams {
#[arg(help = "help.arg.cert-subject-alt-names")]
pub subject: Vec<InternedString>,
@@ -329,6 +330,7 @@ pub async fn get_certificate(ctx: TunnelContext) -> Result<Option<Pem<Vec<X509>>
}
#[derive(Debug, Deserialize, Serialize, Parser)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
pub struct SetListenParams {
#[arg(help = "help.arg.listen-address")]