Compare commits
	
		
			1 Commits
		
	
	
		
			b5c081f596
			...
			d4f3b32c3b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d4f3b32c3b | 
| @ -87,4 +87,5 @@ pub trait AlertRule<S: AlertSender>: std::fmt::Debug + Send + Sync { | |||||||
| #[async_trait] | #[async_trait] | ||||||
| pub trait ScrapeTarget<S: AlertSender>: std::fmt::Debug + Send + Sync { | pub trait ScrapeTarget<S: AlertSender>: std::fmt::Debug + Send + Sync { | ||||||
|     async fn install(&self, sender: &S) -> Result<Outcome, InterpretError>; |     async fn install(&self, sender: &S) -> Result<Outcome, InterpretError>; | ||||||
|  |     fn clone_box(&self) -> Box<dyn ScrapeTarget<S>>; | ||||||
| } | } | ||||||
|  | |||||||
| @ -14,8 +14,7 @@ use crate::{ | |||||||
|     }, |     }, | ||||||
|     score::Score, |     score::Score, | ||||||
|     topology::{ |     topology::{ | ||||||
|         K8sclient, Topology, |         oberservability::monitoring::{AlertReceiver, AlertingInterpret, ScrapeTarget}, K8sclient, Topology | ||||||
|         oberservability::monitoring::{AlertReceiver, AlertingInterpret}, |  | ||||||
|     }, |     }, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @ -35,6 +34,7 @@ impl<T: Topology + PrometheusMonitoring<CRDPrometheus> + K8sclient + Grafana> Sc | |||||||
|             sender: self.sender.clone(), |             sender: self.sender.clone(), | ||||||
|             receivers: self.receivers.clone(), |             receivers: self.receivers.clone(), | ||||||
|             rules: vec![], |             rules: vec![], | ||||||
|  |             scrape_targets: None, | ||||||
|         }) |         }) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -15,10 +15,7 @@ use crate::{ | |||||||
|         prometheus::prometheus::PrometheusMonitoring, |         prometheus::prometheus::PrometheusMonitoring, | ||||||
|     }, |     }, | ||||||
|     topology::{ |     topology::{ | ||||||
|         K8sclient, Topology, |         installable::Installable, k8s::K8sClient, oberservability::monitoring::{AlertReceiver, AlertSender, ScrapeTarget}, K8sclient, Topology | ||||||
|         installable::Installable, |  | ||||||
|         k8s::K8sClient, |  | ||||||
|         oberservability::monitoring::{AlertReceiver, AlertSender}, |  | ||||||
|     }, |     }, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| @ -54,6 +51,12 @@ impl Clone for Box<dyn AlertReceiver<CRDPrometheus>> { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | impl Clone for Box<dyn ScrapeTarget<CRDPrometheus>> { | ||||||
|  |     fn clone(&self) -> Self { | ||||||
|  |         self.clone_box() | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| impl Serialize for Box<dyn AlertReceiver<CRDPrometheus>> { | impl Serialize for Box<dyn AlertReceiver<CRDPrometheus>> { | ||||||
|     fn serialize<S>(&self, _serializer: S) -> Result<S::Ok, S::Error> |     fn serialize<S>(&self, _serializer: S) -> Result<S::Ok, S::Error> | ||||||
|     where |     where | ||||||
|  | |||||||
| @ -73,4 +73,8 @@ impl ScrapeTarget<CRDPrometheus> for Server { | |||||||
|             self.name.clone() |             self.name.clone() | ||||||
|         ))) |         ))) | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     fn clone_box(&self) -> Box<dyn ScrapeTarget<CRDPrometheus>> { | ||||||
|  |         Box::new(self.clone()) | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user