Compare commits
No commits in common. "21dcb754087ddb454feb16afad93550d31b0e45f" and "c5101e096ac625670afdb1f3aa6736b10532d3c3" have entirely different histories.
21dcb75408
...
c5101e096a
@ -4,9 +4,7 @@ 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::{
|
use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::LabelSelector;
|
||||||
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,13 +25,8 @@ 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::{
|
use crate::modules::monitoring::kube_prometheus::crd::rhob_prometheuses::LabelSelector;
|
||||||
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,
|
||||||
};
|
};
|
||||||
@ -257,21 +252,20 @@ 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([("monitoring-stack".into(), "true".into())].into()),
|
labels: Some([("coo".into(), "example".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: Default::default(),
|
match_labels: [("app".into(), "demo".into())].into(),
|
||||||
match_expressions: vec![],
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -323,6 +317,31 @@ 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