mod topology; use crate::topology::{get_inventory, get_topology}; use harmony::{ config::secret::SshKeyPair, data::{FileContent, FilePath}, modules::okd::{installation::OKDInstallationPipeline, ipxe::OKDIpxeScore}, score::Score, topology::HAClusterTopology, }; use harmony_secret::SecretManager; #[tokio::main] async fn main() { let inventory = get_inventory(); let topology = get_topology().await; let ssh_key = SecretManager::get_or_prompt::().await.unwrap(); let mut scores: Vec>> = vec![Box::new(OKDIpxeScore { kickstart_filename: "inventory.kickstart".to_string(), harmony_inventory_agent: "harmony_inventory_agent".to_string(), cluster_pubkey: FileContent { path: FilePath::Relative("cluster_ssh_key.pub".to_string()), content: ssh_key.public, }, })]; scores.append(&mut OKDInstallationPipeline::get_all_scores().await); harmony_cli::run(inventory, topology, scores, None) .await .unwrap(); }