diff --git a/harmony/src/domain/topology/oberservability/monitoring.rs b/harmony/src/domain/topology/oberservability/monitoring.rs index 51e3053..c4d19d5 100644 --- a/harmony/src/domain/topology/oberservability/monitoring.rs +++ b/harmony/src/domain/topology/oberservability/monitoring.rs @@ -13,7 +13,8 @@ pub trait AlertSender: Send + Sync + std::fmt::Debug + Installable { fn name(&self) -> String; async fn install( &self, - topology: T, + inventory: &Inventory, + topology: &T, ) -> Result; } @@ -33,7 +34,7 @@ impl Interpret for AlertingInterpr for receiver in self.receivers.iter() { receiver.install(&self.sender).await?; } - self.sender.ensure_installed(); + self.sender.ensure_installed().await?; Ok(Outcome::success(format!( "successfully installed alert sender {}", self.sender.name() diff --git a/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs b/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs index a45ec94..68e7d46 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs @@ -27,9 +27,10 @@ impl AlertSender for Prometheus { } async fn install( &self, - topology: T, + inventory: &Inventory, + topology: &T, ) -> Result { - let _ = self.install_prometheus(topology).await; + let _ = self.install_prometheus(inventory, topology).await; todo!() } } @@ -91,11 +92,12 @@ impl Prometheus { pub async fn install_prometheus( &self, - topology: T, + inventory: &Inventory, + topology: &T, ) -> Result { kube_prometheus_helm_chart_score(self.config.clone()) .create_interpret() - .execute(&Inventory::autoload(), &topology) + .execute(inventory, topology) .await } }