use harmony::{
    inventory::Inventory,
    maestro::Maestro,
    modules::{
        dummy::{ErrorScore, PanicScore, SuccessScore},
        k8s::deployment::K8sDeploymentScore,
    },
    topology::HAClusterTopology,
};

#[tokio::main]
async fn main() {
    let inventory = Inventory::autoload();
    let topology = HAClusterTopology::autoload();
    let mut maestro = Maestro::new(inventory, topology);

    maestro.register_all(vec![
        // ADD scores :
        // 1. OPNSense setup scores
        // 2. Bootstrap node setup
        // 3. Control plane setup
        // 4. Workers setup
        // 5. Various tools and apps setup
        Box::new(SuccessScore {}),
        Box::new(ErrorScore {}),
        Box::new(PanicScore {}),
    ]);
    harmony_tui::init(maestro).await.unwrap();
}
