37 lines
992 B
Rust
37 lines
992 B
Rust
use harmony::{
|
|
inventory::{HostRole, Inventory},
|
|
modules::inventory::{DiscoverHostForRoleScore, HarmonyDiscoveryStrategy},
|
|
topology::LocalhostTopology,
|
|
};
|
|
use harmony_macros::cidrv4;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
let discover_worker = DiscoverHostForRoleScore {
|
|
role: HostRole::Worker,
|
|
number_desired_hosts: 3,
|
|
discovery_strategy: HarmonyDiscoveryStrategy::SUBNET {
|
|
cidr: cidrv4!("192.168.0.1/25"),
|
|
port: 25000,
|
|
},
|
|
};
|
|
|
|
let discover_control_plane = DiscoverHostForRoleScore {
|
|
role: HostRole::ControlPlane,
|
|
number_desired_hosts: 3,
|
|
discovery_strategy: HarmonyDiscoveryStrategy::SUBNET {
|
|
cidr: cidrv4!("192.168.0.1/25"),
|
|
port: 25000,
|
|
},
|
|
};
|
|
|
|
harmony_cli::run(
|
|
Inventory::autoload(),
|
|
LocalhostTopology::new(),
|
|
vec![Box::new(discover_worker), Box::new(discover_control_plane)],
|
|
None,
|
|
)
|
|
.await
|
|
.unwrap();
|
|
}
|