forked from NationTech/harmony
		
	Merge pull request 'fix/connected_alert_receivers' (#150) from fix/connected_alert_receivers into master
Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/150
This commit is contained in:
		
						commit
						21dcb75408
					
				| @ -4,7 +4,9 @@ use kube::CustomResource; | |||||||
| use schemars::JsonSchema; | use schemars::JsonSchema; | ||||||
| use serde::{Deserialize, Serialize}; | use serde::{Deserialize, Serialize}; | ||||||
| 
 | 
 | ||||||
| use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::LabelSelector; | use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::{ | ||||||
|  |     LabelSelector, PrometheusSpec, | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
| /// MonitoringStack CRD for monitoring.rhobs/v1alpha1
 | /// MonitoringStack CRD for monitoring.rhobs/v1alpha1
 | ||||||
| #[derive(CustomResource, Serialize, Deserialize, Debug, Clone, JsonSchema)] | #[derive(CustomResource, Serialize, Deserialize, Debug, Clone, JsonSchema)] | ||||||
|  | |||||||
| @ -25,8 +25,13 @@ use crate::modules::monitoring::kube_prometheus::crd::rhob_monitoring_stack::{ | |||||||
| use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheus_rules::{ | use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheus_rules::{ | ||||||
|     PrometheusRule, PrometheusRuleSpec, RuleGroup, |     PrometheusRule, PrometheusRuleSpec, RuleGroup, | ||||||
| }; | }; | ||||||
| use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::LabelSelector; | use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::{ | ||||||
|  |     AlertmanagerEndpoints, LabelSelector, PrometheusSpec, PrometheusSpecAlerting, | ||||||
|  | }; | ||||||
| 
 | 
 | ||||||
|  | use crate::modules::monitoring::kube_prometheus::crd::rhob_role::{ | ||||||
|  |     build_prom_role, build_prom_rolebinding, build_prom_service_account, | ||||||
|  | }; | ||||||
| use crate::modules::monitoring::kube_prometheus::crd::rhob_service_monitor::{ | use crate::modules::monitoring::kube_prometheus::crd::rhob_service_monitor::{ | ||||||
|     ServiceMonitor, ServiceMonitorSpec, |     ServiceMonitor, ServiceMonitorSpec, | ||||||
| }; | }; | ||||||
| @ -252,20 +257,21 @@ impl RHOBAlertingInterpret { | |||||||
|             "installing crd-prometheuses in namespace {}", |             "installing crd-prometheuses in namespace {}", | ||||||
|             self.sender.namespace.clone() |             self.sender.namespace.clone() | ||||||
|         ); |         ); | ||||||
|  |         debug!("building role/rolebinding/serviceaccount for crd-prometheus"); | ||||||
| 
 | 
 | ||||||
|         let stack = MonitoringStack { |         let stack = MonitoringStack { | ||||||
|             metadata: ObjectMeta { |             metadata: ObjectMeta { | ||||||
|                 name: Some(format!("{}-monitoring", self.sender.namespace.clone()).into()), |                 name: Some(format!("{}-monitoring", self.sender.namespace.clone()).into()), | ||||||
|                 namespace: Some(self.sender.namespace.clone()), |                 namespace: Some(self.sender.namespace.clone()), | ||||||
|                 labels: Some([("coo".into(), "example".into())].into()), |                 labels: Some([("monitoring-stack".into(), "true".into())].into()), | ||||||
|                 ..Default::default() |                 ..Default::default() | ||||||
|             }, |             }, | ||||||
|             spec: MonitoringStackSpec { |             spec: MonitoringStackSpec { | ||||||
|                 log_level: Some("debug".into()), |                 log_level: Some("debug".into()), | ||||||
|                 retention: Some("1d".into()), |                 retention: Some("1d".into()), | ||||||
|                 resource_selector: Some(LabelSelector { |                 resource_selector: Some(LabelSelector { | ||||||
|                     match_labels: [("app".into(), "demo".into())].into(), |                     match_labels: Default::default(), | ||||||
|                     ..Default::default() |                     match_expressions: vec![], | ||||||
|                 }), |                 }), | ||||||
|             }, |             }, | ||||||
|         }; |         }; | ||||||
| @ -317,31 +323,6 @@ impl RHOBAlertingInterpret { | |||||||
|         ))) |         ))) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     async fn install_alert_manager( |  | ||||||
|         &self, |  | ||||||
|         client: &Arc<K8sClient>, |  | ||||||
|     ) -> Result<Outcome, InterpretError> { |  | ||||||
|         let am = Alertmanager { |  | ||||||
|             metadata: ObjectMeta { |  | ||||||
|                 name: Some(self.sender.namespace.clone()), |  | ||||||
|                 labels: Some(std::collections::BTreeMap::from([( |  | ||||||
|                     "alertmanagerConfig".to_string(), |  | ||||||
|                     "enabled".to_string(), |  | ||||||
|                 )])), |  | ||||||
|                 namespace: Some(self.sender.namespace.clone()), |  | ||||||
|                 ..Default::default() |  | ||||||
|             }, |  | ||||||
|             spec: AlertmanagerSpec::default(), |  | ||||||
|         }; |  | ||||||
|         client |  | ||||||
|             .apply(&am, Some(&self.sender.namespace.clone())) |  | ||||||
|             .await |  | ||||||
|             .map_err(|e| InterpretError::new(e.to_string()))?; |  | ||||||
|         Ok(Outcome::success(format!( |  | ||||||
|             "successfully deployed service monitor {:#?}", |  | ||||||
|             am.metadata.name |  | ||||||
|         ))) |  | ||||||
|     } |  | ||||||
|     async fn install_monitors( |     async fn install_monitors( | ||||||
|         &self, |         &self, | ||||||
|         mut monitors: Vec<ServiceMonitor>, |         mut monitors: Vec<ServiceMonitor>, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user