feat: added the steps to install discord-webhook-receiver for k8s anywhere topology if not already installed #50
| @ -30,7 +30,11 @@ pub trait Monitor<T: Topology>: Debug + Send + Sync { | ||||
| 
 | ||||
| #[async_trait] | ||||
| pub trait EnsureAlertReceiver<T: Topology>: Debug + DynClone + Send + Sync { | ||||
|     async fn ensure_alert_receiver(&self, inventory: Inventory, topology: &T) -> Result<Outcome, InterpretError>; | ||||
|     async fn ensure_alert_receiver( | ||||
|         &self, | ||||
|         inventory: Inventory, | ||||
|         topology: &T, | ||||
|     ) -> Result<Outcome, InterpretError>; | ||||
| } | ||||
| 
 | ||||
| dyn_clone::clone_trait_object!(<T> EnsureAlertReceiver<T>); | ||||
|  | ||||
| @ -11,7 +11,8 @@ use crate::{ | ||||
|     inventory::Inventory, | ||||
|     score::Score, | ||||
|     topology::{ | ||||
|         oberservability::monitoring::{AlertReceiver, EnsureAlertReceiver}, HelmCommand, K8sAnywhereTopology, Topology | ||||
|         HelmCommand, K8sAnywhereTopology, Topology, | ||||
|         oberservability::monitoring::{AlertReceiver, EnsureAlertReceiver}, | ||||
|     }, | ||||
| }; | ||||
| 
 | ||||
| @ -24,8 +25,14 @@ pub struct DiscordWebhookConfig { | ||||
| 
 | ||||
| #[async_trait] | ||||
| impl<T: Topology + DiscordWebhookReceiver> EnsureAlertReceiver<T> for DiscordWebhookConfig { | ||||
|     async fn ensure_alert_receiver(&self, inventory: Inventory, topology: &T) -> Result<Outcome, InterpretError> { | ||||
|         topology.ensure_discord_webhook_receiver(&inventory, self.clone()).await | ||||
|     async fn ensure_alert_receiver( | ||||
|         &self, | ||||
|         inventory: Inventory, | ||||
|         topology: &T, | ||||
|     ) -> Result<Outcome, InterpretError> { | ||||
|         topology | ||||
|             .ensure_discord_webhook_receiver(&inventory, self.clone()) | ||||
|             .await | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user