geist_supervisor 0.1.28

Generic OTA supervisor for field devices
Documentation
use anyhow::Result;
use clap::Parser;
use geist_supervisor::cli::Cli;
use geist_supervisor::utils::logging::init_logging;
use tracing::{error, info};

fn main() -> Result<()> {
    // Initialize logging — writes to stderr so that stdout is clean for
    // machine-readable output (e.g. `check-update --json`).
    init_logging();

    info!("Geist Supervisor starting");

    // Parse command line arguments
    let cli = Cli::parse();

    // Run the CLI command
    if let Err(e) = cli.run() {
        error!("Command failed: {}", e);
        std::process::exit(1);
    }

    Ok(())
}