From 22774267b13d7c74091d8956956a9c492e209e65 Mon Sep 17 00:00:00 2001 From: scottkiener-at-safelite Date: Mon, 3 Nov 2025 11:02:59 -0500 Subject: [PATCH 1/2] CASH-1706 | Add healthcheck page into static folder --- public/static/healthcheck/index.html | 1072 ++++++++++++++++++++++++++ 1 file changed, 1072 insertions(+) create mode 100644 public/static/healthcheck/index.html diff --git a/public/static/healthcheck/index.html b/public/static/healthcheck/index.html new file mode 100644 index 000000000..8df309651 --- /dev/null +++ b/public/static/healthcheck/index.html @@ -0,0 +1,1072 @@ + + + + + + API Health Check Dashboard + + + +
+
+

API Health Check Dashboard

+
+ +
+ +
+ Loading... +
+
+ Never updated +
+
+ +
+
+
+ Loading health check data... +
+
+ +
+
+
+
Refreshing health checks...
+
+
+
+ + + + \ No newline at end of file From 3ac1161c4aa3d4034f1944d60f163da1bcfaa577 Mon Sep 17 00:00:00 2001 From: scottkiener-at-safelite Date: Tue, 4 Nov 2025 09:53:19 -0500 Subject: [PATCH 2/2] CASH-1706 | At-a-glance fixes --- public/static/healthcheck/index.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/public/static/healthcheck/index.html b/public/static/healthcheck/index.html index 8df309651..9e20bde78 100644 --- a/public/static/healthcheck/index.html +++ b/public/static/healthcheck/index.html @@ -723,6 +723,7 @@ isRefreshing = false; refreshBtn.disabled = false; refreshText.textContent = 'Refresh All'; + updateAtAGlanceText(); // Hide overlay overlay.classList.remove('active'); @@ -761,7 +762,7 @@ // Determine overall service status const endpoints = healthData[serviceName].endpoints; - const healthyCount = endpoints.filter(ep => ep.statusCode >= 200 && ep.statusCode < 400).length; + const healthyCount = endpoints.filter(ep => !isDegraded(ep) && !isUnhealthy(ep)).length; const totalCount = endpoints.length; if (healthyCount === totalCount) { @@ -771,7 +772,6 @@ } else { healthData[serviceName].status = 'unhealthy'; } - updateAtAGlanceText(); } // Check a single endpoint @@ -967,7 +967,6 @@ // Create microservice element function createMicroserviceElement(serviceName, serviceData) { - console.log(serviceName, serviceData); const serviceEl = document.createElement('div'); serviceEl.className = 'microservice-group'; serviceEl.id = `service-${serviceName}`;