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