All checks were successful
Run Check Script / check (pull_request) Successful in 1m24s
39 lines
1.1 KiB
Rust
39 lines
1.1 KiB
Rust
mod topology;
|
|
|
|
use crate::topology::{get_inventory, get_topology};
|
|
use harmony::{
|
|
config::secret::SshKeyPair,
|
|
data::{FileContent, FilePath},
|
|
modules::{
|
|
inventory::HarmonyDiscoveryStrategy,
|
|
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::<SshKeyPair>().await.unwrap();
|
|
|
|
let mut scores: Vec<Box<dyn Score<HAClusterTopology>>> = 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(HarmonyDiscoveryStrategy::MDNS).await);
|
|
|
|
harmony_cli::run(inventory, topology, scores, None)
|
|
.await
|
|
.unwrap();
|
|
}
|