From f728da5216d1fd9373c2fc02647d56ceb0381355 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 6 May 2024 10:04:45 +0200 Subject: status summary --- src/web.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/web.rs') diff --git a/src/web.rs b/src/web.rs index c7bff3d..6437420 100644 --- a/src/web.rs +++ b/src/web.rs @@ -14,7 +14,11 @@ pub async fn make_html_page(config: Arc) -> String { let css = include_str!("style.css"); #[cfg(debug_assertions)] let css = tokio::fs::read_to_string("src/style.css").await.unwrap(); - + + + let total_err = status.values().map(|s|s.status.is_err() as usize).sum::(); + let total_ok = status.values().map(|s|s.status.is_ok() as usize).sum::(); + markup::new! { @doctype() html { @@ -27,6 +31,13 @@ pub async fn make_html_page(config: Arc) -> String { body { main { h1 { @config.title } + @if total_err == 0 { + div.summary.ok { "All services operational." } + } else if total_ok == 0 { + div.summary.error { "All services are broken." } + } else { + div.summary.degraded { "Degraded service. (" @total_ok " working, " @total_err " broken)" } + } @for (i, service) in config.services.iter().enumerate() { @ServiceCard { i, status, service } } -- cgit v1.2.3-70-g09d2