Enable CORS for dashboard

This commit is contained in:
2026-07-28 18:29:19 +00:00
parent 5e49b44bca
commit 8fcc265189
5 changed files with 184 additions and 2 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
from flask import Flask, jsonify from flask import Flask, jsonify
from datetime import datetime from datetime import datetime
from flask_cors import CORS
app = Flask(__name__) app = Flask(__name__)
CORS(app)
request_count = 0 request_count = 0
+34
View File
@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html>
<head>
<title>Ghaymah SRE Dashboard</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Ghaymah SRE Dashboard</h1>
<div class="card">
<h2>Status</h2>
<p id="status">Checking...</p>
<h2>Response Time</h2>
<p id="response">-</p>
<h2>Total Requests</h2>
<p id="requests">-</p>
</div>
<script src="script.js"></script>
</body>
</html>
+67
View File
@@ -0,0 +1,67 @@
const API_URL =
"https://ghaymah-sre-api-20e343cababc.hosted.ghaymah.systems";
async function checkApplication(){
try {
let start = Date.now();
let healthResponse =
await fetch(API_URL + "/health");
let end = Date.now();
let responseTime =
end - start;
let statsResponse =
await fetch(API_URL + "/stats");
let stats =
await statsResponse.json();
document.getElementById("status").innerHTML =
healthResponse.ok ? "UP" : "DOWN";
document.getElementById("response").innerHTML =
responseTime + " ms";
document.getElementById("requests").innerHTML =
stats.requests;
}
catch(error){
document.getElementById("status").innerHTML =
"DOWN";
console.log(error);
}
}
checkApplication();
setInterval(
checkApplication,
30000
);
+32
View File
@@ -0,0 +1,32 @@
body {
font-family: Arial, sans-serif;
text-align: center;
background: #f4f4f4;
}
h1 {
margin-top: 40px;
}
.card {
background: white;
width: 350px;
margin: 40px auto;
padding: 25px;
border-radius: 10px;
}
p {
font-size: 22px;
}
+49
View File
@@ -0,0 +1,49 @@
import requests
import time
from datetime import datetime
URL = "https://ghaymah-sre-api-20e343cababc.hosted.ghaymah.systems/health"
while True:
try:
start = time.time()
response = requests.get(URL)
end = time.time()
response_time = round(end - start, 3)
if response.status_code == 200:
print(
datetime.now(),
"UP",
"Response time:",
response_time,
"seconds"
)
else:
print(
datetime.now(),
"DOWN",
response.status_code
)
except Exception as e:
print(
datetime.now(),
"ERROR",
e
)
time.sleep(30)