All checks were successful
Run Check Script / check (pull_request) Successful in 59s
Co-authored-by: Jean-Gabriel Gill-Couture <jeangabriel.gc@gmail.com> Co-authored-by: Ian Letourneau <ian@noma.to> Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/130 Reviewed-by: Ian Letourneau <ian@noma.to> Co-authored-by: Jean-Gabriel Gill-Couture <jg@nationtech.io> Co-committed-by: Jean-Gabriel Gill-Couture <jg@nationtech.io>
35 lines
1.0 KiB
Rust
35 lines
1.0 KiB
Rust
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::<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().await);
|
|
|
|
harmony_cli::run(inventory, topology, scores, None)
|
|
.await
|
|
.unwrap();
|
|
}
|