use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None, name = "executor")]
pub struct Cli {
#[command(subcommand)]
pub command: ExecutorCommand,
}
#[derive(Subcommand, Debug)]
pub enum ExecutorCommand {
Run {
#[arg(short, long, default_value = "/etc/executor/config.toml")]
config: PathBuf,
#[arg(long)]
demo: bool,
#[arg(long)]
autobootstrap: bool,
#[arg(long, required = true)]
capability_digest: String,
#[arg(long, default_value = "landlock")]
isolation: String,
},
CheckConfig {
#[arg(short, long, default_value = "/etc/executor/config.toml")]
config: PathBuf,
},
SelfTest {
#[arg(short, long, default_value = "/etc/executor/config.toml")]
config: PathBuf,
#[arg(long)]
comprehensive: bool,
},
PrintSeccomp {
#[arg(short, long)]
capability: String,
},
ReloadPolicy {
#[arg(short, long)]
pid: Option<u32>,
},
}