forked from NationTech/harmony
feat: Topology, inventory, score, its all coming together and compiles. I think its very usable as a first alpha version. Game on
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
use fqm::{inventory::get_inventory, topology::fqm_topology};
|
||||
use harmony::{
|
||||
inventory::InventoryFilter,
|
||||
maestro::Maestro,
|
||||
maestro::Maestro,
|
||||
modules::opnsense_dhcp::OPNSenseDhcpScore,
|
||||
};
|
||||
use log::info;
|
||||
@@ -12,9 +11,9 @@ async fn main() {
|
||||
|
||||
tokio::spawn(async move {
|
||||
info!("FQM Harmony Starting");
|
||||
let maestro = Maestro::new(get_inventory());
|
||||
let topology = fqm_topology();
|
||||
let score = OPNSenseDhcpScore::new(InventoryFilter::new(vec![]));
|
||||
let maestro = Maestro::new(get_inventory(), topology.clone());
|
||||
let score = OPNSenseDhcpScore::new(topology);
|
||||
let result = maestro.interpret(score).await.unwrap();
|
||||
info!("{result}");
|
||||
}).await.unwrap();
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
use std::net::Ipv4Addr;
|
||||
use std::sync::Arc;
|
||||
|
||||
use cidr::Ipv4Cidr;
|
||||
use harmony::infra::opnsense::OPNSenseFirewall;
|
||||
use harmony::topology::{HAClusterTopology, IpAddress, UnmanagedRouter};
|
||||
|
||||
pub fn fqm_topology() -> HAClusterTopology {
|
||||
let opnsense_firewall = Box::new(OPNSenseFirewall::new(IpAddress::V4(Ipv4Addr::new(10, 10, 8, 2))));
|
||||
let opnsense_firewall = Arc::new(OPNSenseFirewall::new(IpAddress::V4(Ipv4Addr::new(10, 10, 8, 2))));
|
||||
|
||||
HAClusterTopology {
|
||||
firewall: opnsense_firewall.clone(),
|
||||
control_plane: vec![],
|
||||
ceph_hosts: vec![],
|
||||
switch: vec![],
|
||||
router: Box::new(UnmanagedRouter::new(
|
||||
router: Arc::new(UnmanagedRouter::new(
|
||||
IpAddress::V4(Ipv4Addr::new(10, 10, 8, 1)),
|
||||
Ipv4Cidr::new(Ipv4Addr::new(10, 10, 8, 0), 22).expect("Subnet is valid"),
|
||||
)),
|
||||
|
||||
Reference in New Issue
Block a user