From f2a350fae671ee6e02aa10acd8aafea68661cb3f Mon Sep 17 00:00:00 2001 From: Willem Date: Wed, 2 Jul 2025 13:35:20 -0400 Subject: [PATCH] fix: comments from pr --- .../monitoring/kube_prometheus/helm/config.rs | 16 +- .../monitoring/kube_prometheus/helm/mod.rs | 1 - .../monitoring/kube_prometheus/helm/types.rs | 142 ------------------ .../monitoring/kube_prometheus/prometheus.rs | 3 +- 4 files changed, 10 insertions(+), 152 deletions(-) delete mode 100644 harmony/src/modules/monitoring/kube_prometheus/helm/types.rs diff --git a/harmony/src/modules/monitoring/kube_prometheus/helm/config.rs b/harmony/src/modules/monitoring/kube_prometheus/helm/config.rs index 62fd164..1784d6d 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/helm/config.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/helm/config.rs @@ -31,21 +31,21 @@ impl KubePrometheusConfig { Self { namespace: None, default_rules: true, - windows_monitoring: true, + windows_monitoring: false, alert_manager: true, grafana: true, - node_exporter: true, + node_exporter: false, prometheus: true, kubernetes_service_monitors: true, - kubernetes_api_server: true, + kubernetes_api_server: false, kubelet: true, - kube_controller_manager: true, - kube_etcd: true, - kube_proxy: true, + kube_controller_manager: false, + kube_etcd: false, + kube_proxy: false, kube_state_metrics: true, prometheus_operator: true, - core_dns: true, - kube_scheduler: true, + core_dns: false, + kube_scheduler: false, alert_receiver_configs: vec![], alert_rules: vec![], } diff --git a/harmony/src/modules/monitoring/kube_prometheus/helm/mod.rs b/harmony/src/modules/monitoring/kube_prometheus/helm/mod.rs index 4184f48..4b07750 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/helm/mod.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/helm/mod.rs @@ -1,3 +1,2 @@ pub mod config; pub mod kube_prometheus_helm_chart; -pub mod types; diff --git a/harmony/src/modules/monitoring/kube_prometheus/helm/types.rs b/harmony/src/modules/monitoring/kube_prometheus/helm/types.rs deleted file mode 100644 index ed59296..0000000 --- a/harmony/src/modules/monitoring/kube_prometheus/helm/types.rs +++ /dev/null @@ -1,142 +0,0 @@ -// // in your build_score function... -// -// // --- Step 1: Define the structs that match the ENTIRE values.yaml structure --- -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct FullValues { -// // Top-level keys for each component -// prometheus: Prometheus, -// grafana: Grafana, -// alertmanager: Alertmanager, -// kube_state_metrics: KubeStateMetrics, -// prometheus_operator: PrometheusOperator, -// // Add other components like nodeExporter if you enable them -// -// // Key for your custom rules -// additional_prometheus_rules_map: AlertManagerAdditionalPromRules, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct Prometheus { -// enabled: bool, -// prometheus_spec: PrometheusSpec, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct PrometheusSpec { -// resources: K8sResources, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct Grafana { -// enabled: bool, -// resources: K8sResources, -// sidecar: GrafanaSidecar, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct GrafanaSidecar { -// resources: K8sResources, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct Alertmanager { -// enabled: bool, -// config: AlertManagerConfig, // Your existing struct for this -// alert_manager_spec: AlertManagerSpec, -// } -// -// #[derive(Serialize, Debug)] -// #[serde(rename_all = "camelCase")] -// struct AlertManagerSpec { -// resources: K8sResources, -// // You will need to add a `config_reloader` field here for its resources -// } -// -// // Define KubeStateMetrics, PrometheusOperator, etc. in the same way -// // ... -// -// // Your K8sResources struct (flat, with strings) -// #[derive(Serialize, Debug)] -// struct K8sResources { -// requests: ResourceValues, -// limits: ResourceValues, -// } -// -// #[derive(Serialize, Debug)] -// struct ResourceValues { -// cpu: String, -// memory: String, -// } -// -// -// // --- Step 2: Populate the single, unified struct --- -// -// // Prepare your alertmanager config -// let mut alert_manager_channel_config = build_your_alert_manager_config(); // Your existing logic -// -// // Prepare your custom rules -// let merged_rules = build_your_prometheus_rules(); // Your existing logic -// -// // Define the resource profiles -// let heavy_res = K8sResources { /* ... */ }; -// let medium_res = K8sResources { /* ... */ }; -// let light_res = K8sResources { /* ... */ }; -// -// // Create the single source of truth for your values -// let full_values = FullValues { -// prometheus: Prometheus { -// enabled: config.prometheus, -// prometheus_spec: PrometheusSpec { -// resources: heavy_res, -// }, -// }, -// grafana: Grafana { -// enabled: config.grafana, -// resources: medium_res, -// sidecar: GrafanaSidecar { -// resources: light_res, -// }, -// }, -// alertmanager: Alertmanager { -// enabled: config.alert_manager, -// config: alert_manager_channel_config, -// alert_manager_spec: AlertManagerSpec { -// resources: light_res, -// // You'd add the config_reloader resources here -// }, -// }, -// kube_state_metrics: KubeStateMetrics { -// enabled: config.kube_state_metrics, -// resources: medium_res, -// }, -// prometheus_operator: PrometheusOperator { -// enabled: config.prometheus_operator, -// resources: light_res, -// // ... and so on for its sidecars -// }, -// additional_prometheus_rules_map: merged_rules, -// }; -// -// -// // --- Step 3: Serialize the single struct ONCE --- -// -// let final_values_yaml = serde_yaml::to_string(&full_values) -// .expect("Failed to serialize final values YAML"); -// -// debug!("full values.yaml: \n {:#}", final_values_yaml); -// -// -// // --- Step 4: Use the final string in your Helm score --- -// -// HelmChartScore { -// // ... -// values_yaml: Some(final_values_yaml), -// // ... -// } diff --git a/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs b/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs index 57e72f9..0216957 100644 --- a/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs +++ b/harmony/src/modules/monitoring/kube_prometheus/prometheus.rs @@ -1,7 +1,7 @@ use std::sync::{Arc, Mutex}; use async_trait::async_trait; -use log::debug; +use log::{debug, error}; use serde::Serialize; use crate::{ @@ -67,6 +67,7 @@ impl Prometheus { .get_tenant_config() .map(|cfg| cfg.name.clone()) .unwrap_or_else(|| "monitoring".to_string()); + error!("This must be refactored, see comments in pr #74"); debug!("NS: {}", ns); self.config.lock().unwrap().namespace = Some(ns); }