forked from NationTech/harmony
35 lines
1.0 KiB
Rust
35 lines
1.0 KiB
Rust
use crate::modules::monitoring::kube_prometheus::types::{
|
|
AlertManagerAdditionalPromRules, AlertManagerChannelConfig, ServiceMonitor,
|
|
};
|
|
|
|
#[derive(Debug)]
|
|
pub struct PrometheusConfig {
|
|
pub namespace: Option<String>,
|
|
pub default_rules: bool,
|
|
pub alert_manager: bool,
|
|
pub node_exporter: bool,
|
|
pub kube_state_metrics: bool,
|
|
pub grafana: bool,
|
|
pub prometheus_pushgateway: bool,
|
|
pub alert_receiver_configs: Vec<AlertManagerChannelConfig>,
|
|
pub alert_rules: Vec<AlertManagerAdditionalPromRules>,
|
|
pub additional_service_monitors: Vec<ServiceMonitor>,
|
|
}
|
|
|
|
impl PrometheusConfig {
|
|
pub fn new() -> Self {
|
|
Self {
|
|
namespace: None,
|
|
default_rules: true,
|
|
alert_manager: true,
|
|
node_exporter: false,
|
|
kube_state_metrics: false,
|
|
grafana: true,
|
|
prometheus_pushgateway: false,
|
|
alert_receiver_configs: vec![],
|
|
alert_rules: vec![],
|
|
additional_service_monitors: vec![],
|
|
}
|
|
}
|
|
}
|