use std::path::PathBuf;
use clap::Parser;
use geph5_client::{logging, Client, Config};
#[derive(Parser)]
struct CliArgs {
#[arg(short, long)]
config: PathBuf,
#[arg(short, long)]
dry_run: bool,
}
fn main() -> anyhow::Result<()> {
logging::init_logging()?;
let args = CliArgs::parse();
let config: serde_json::Value = serde_yaml::from_slice(&std::fs::read(args.config)?)?;
let mut config: Config = serde_json::from_value(config)?;
config.dry_run = args.dry_run;
let client = Client::start(config);
smolscale::block_on(client.wait_until_dead())?;
Ok(())
}