Add to example monitoring

This commit is contained in:
tahahawa
2025-06-25 16:19:31 -04:00
parent baf63e97b1
commit 5c22fc8823
6 changed files with 57 additions and 21 deletions

View File

@@ -8,5 +8,6 @@ license.workspace = true
[dependencies]
harmony = { version = "0.1.0", path = "../../harmony" }
harmony_cli = { version = "0.1.0", path = "../../harmony_cli" }
harmony_macros = { version = "0.1.0", path = "../../harmony_macros" }
tokio.workspace = true
url.workspace = true

View File

@@ -18,6 +18,8 @@ use harmony::{
topology::{K8sAnywhereTopology, Url},
};
use harmony_macros::http_scheme;
#[tokio::main]
async fn main() {
let discord_receiver = DiscordWebhook {
@@ -41,9 +43,34 @@ async fn main() {
],
);
let service_monitor_endpoint = ServiceMonitorEndpoint {
port: Some(80),
target_port: None,
bearer_token_file: None,
interval: None,
path: "/metrics".to_string(),
scheme: http_scheme!("http"),
tls_config: None,
metric_relabelings: vec![],
relabelings: vec![],
};
let service_monitor = ServiceMonitor {
name: "test service monitor".to_string(),
additional_labels: None,
job_label: None,
target_labels: vec![],
pod_target_labels: vec![],
selector: None,
match_labels: None,
namespace_selector: None,
endpoints: vec![service_monitor_endpoint],
fallback_scrape_protocol: None,
};
let alerting_score = HelmPrometheusAlertingScore {
receivers: vec![Box::new(discord_receiver)],
rules: vec![Box::new(additional_rules), Box::new(additional_rules2)],
service_monitors: vec![service_monitor],
};
let mut maestro = Maestro::<K8sAnywhereTopology>::initialize(
Inventory::autoload(),