51eb3bf7c8
- Wire up 26 vendor providers: Atlassian Statuspage API, Status.io, Instatus, AWS RSS feeds, Apple/Google JSON feeds, M365 Graph API, and synthetic checks - Add 11 new providers: AWS, Cloudflare, SmartPass, School Dismissal Manager, SherpaDesk, Classkick, ClassDojo, Savvas, Study Island, Promethean, RAZ-Kids - Rename Local Infrastructure → Internet (TCP check to 8.8.8.8:53) - Add WAN throughput graph section: dual-link canvas graphs (Crown Castle + Comcast) polling FortiGate REST API every 30s with 30-min rolling history - Add FortiGate health card: uptime, CPU %, memory % from FortiOS API - Add /api/throughput and /api/fortigate-health endpoints - Add README with setup instructions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
905 B
JavaScript
27 lines
905 B
JavaScript
export const name = "RAZ-Kids";
|
|
export const url = "https://www.raz-kids.com/";
|
|
|
|
// No public status page. Synthetic check against the teacher login portal.
|
|
// Learning A-Z properties are behind Cloudflare bot detection — requires a
|
|
// browser User-Agent to avoid 403 challenges.
|
|
const PROBE_URL =
|
|
"https://accounts.learninga-z.com/ng/member/login?siteAbbr=rk";
|
|
|
|
const HEADERS = {
|
|
"User-Agent":
|
|
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
|
|
};
|
|
|
|
export async function checkStatus() {
|
|
const res = await fetch(PROBE_URL, { method: "GET", headers: HEADERS });
|
|
|
|
return {
|
|
name,
|
|
status: res.ok ? "operational" : "degraded",
|
|
message: res.ok
|
|
? `Login portal responding (HTTP ${res.status}).`
|
|
: `Unexpected response from login portal (HTTP ${res.status}).`,
|
|
lastUpdated: new Date().toISOString(),
|
|
};
|
|
}
|