evectl 0.1.0-alpha.2

Controller for EveBox and Suricata
// SPDX-FileCopyrightText: (C) 2024 Jason Ish <jason@codemonkey.net>
// SPDX-License-Identifier: MIT

use clap::Parser;
use clap_cargo::style::CLAP_STYLING;

mod tool;

#[derive(Parser, Debug)]
#[command(styles=CLAP_STYLING)]
struct Args {
    #[clap(subcommand)]
    subcommand: SubCommand,
}

#[derive(Parser, Debug)]
enum SubCommand {
    /// Run a tool like Suricata
    #[command(subcommand)]
    Tool(ToolCommand),
}

#[derive(Parser, Debug)]
enum ToolCommand {
    /// Suricata
    Suricata(tool::suricata::Args),
}

fn main() {
    let args = Args::parse();
    match args.subcommand {
        SubCommand::Tool(ToolCommand::Suricata(args)) => {
            tool::suricata::run(args);
        }
    }
}