forked from NationTech/harmony
		
	WIP: initial layout for MonitoringStackScore
This commit is contained in:
		
							parent
							
								
									db9c8d83e6
								
							
						
					
					
						commit
						40cd765019
					
				| @ -10,3 +10,4 @@ pub mod load_balancer; | ||||
| pub mod okd; | ||||
| pub mod opnsense; | ||||
| pub mod tftp; | ||||
| pub mod monitoring; | ||||
|  | ||||
							
								
								
									
										3
									
								
								harmony/src/modules/monitoring/mod.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								harmony/src/modules/monitoring/mod.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| mod monitoring_alerting; | ||||
| mod resources; | ||||
| pub use monitoring_alerting::*; | ||||
							
								
								
									
										23
									
								
								harmony/src/modules/monitoring/monitoring_alerting.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								harmony/src/modules/monitoring/monitoring_alerting.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| use serde::Serialize; | ||||
| 
 | ||||
| use crate::{ | ||||
|     interpret::Interpret, maestro::Maestro, modules::helm::chart::HelmChartScore, score::Score, topology::{K8sclient, Topology} | ||||
| }; | ||||
| 
 | ||||
| #[derive(Debug, Clone, Serialize)] | ||||
| pub struct MonitoringAlertingStackScore { | ||||
|     monitoring: HelmChartScore, | ||||
|     alerting: HelmChartScore, | ||||
|     alert_manager: HelmChartScore, | ||||
| } | ||||
| 
 | ||||
| impl<T: Topology> Score<T> for MonitoringAlertingStackScore { | ||||
| 
 | ||||
|     fn create_interpret(&self) -> Box<dyn Interpret<T>> { | ||||
|         todo!() | ||||
|     } | ||||
| 
 | ||||
|     fn name(&self) -> String { | ||||
|         format!("Monitoring: {}\n, Alerting: {}\n, Alert Manager: {}\n", self.monitoring, self.alerting, self.alert_manager) | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								harmony/src/modules/monitoring/resources/grafana.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								harmony/src/modules/monitoring/resources/grafana.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| use std::str::FromStr; | ||||
| 
 | ||||
| use non_blank_string_rs::NonBlankString; | ||||
| 
 | ||||
| use crate::modules::helm::chart::HelmChartScore; | ||||
| 
 | ||||
| 
 | ||||
| pub fn grafana_score(ns: &str) -> HelmChartScore { | ||||
|     HelmChartScore { | ||||
|         namespace: Some(NonBlankString::from_str(ns).unwrap()), | ||||
|         release_name: NonBlankString::from_str("es").unwrap(), | ||||
|         chart_name: NonBlankString::from_str( | ||||
|             "oci://registry-1.docker.io/bitnamicharts/grafana", | ||||
|         ) | ||||
|         .unwrap(), | ||||
|         chart_version: None, | ||||
|         values_overrides: None, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										3
									
								
								harmony/src/modules/monitoring/resources/mod.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								harmony/src/modules/monitoring/resources/mod.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| mod grafana; | ||||
| mod prometheus; | ||||
| mod prometheus_alert_manager; | ||||
							
								
								
									
										19
									
								
								harmony/src/modules/monitoring/resources/prometheus.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								harmony/src/modules/monitoring/resources/prometheus.rs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| use std::str::FromStr; | ||||
| 
 | ||||
| use non_blank_string_rs::NonBlankString; | ||||
| 
 | ||||
| use crate::modules::helm::chart::HelmChartScore; | ||||
| 
 | ||||
| 
 | ||||
| pub fn elasticsearch_score(ns: &str) -> HelmChartScore { | ||||
|     HelmChartScore { | ||||
|         namespace: Some(NonBlankString::from_str(ns).unwrap()), | ||||
|         release_name: NonBlankString::from_str("es").unwrap(), | ||||
|         chart_name: NonBlankString::from_str( | ||||
|         todo()! | ||||
|             ) | ||||
|         .unwrap(), | ||||
|         chart_version: None, | ||||
|         values_overrides: None, | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,20 @@ | ||||
| use std::str::FromStr; | ||||
| 
 | ||||
| use non_blank_string_rs::NonBlankString; | ||||
| 
 | ||||
| use crate::modules::helm::chart::HelmChartScore; | ||||
| 
 | ||||
| 
 | ||||
| pub fn elasticsearch_score(ns: &str) -> HelmChartScore { | ||||
|     HelmChartScore { | ||||
|         namespace: Some(NonBlankString::from_str(ns).unwrap()), | ||||
|         release_name: NonBlankString::from_str("es").unwrap(), | ||||
|         chart_name: NonBlankString::from_str( | ||||
|             todo()! | ||||
|         ) | ||||
|         .unwrap(), | ||||
|         chart_version: None, | ||||
|         values_overrides: None, | ||||
|     } | ||||
| } | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user