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>
37 lines
861 B
JavaScript
37 lines
861 B
JavaScript
export const name = "SmartPass";
|
|
export const url = "https://smartpass.instatus.com";
|
|
|
|
const STATUS_URL = "https://smartpass.instatus.com/summary.json";
|
|
|
|
// Instatus page.status → dashboard status
|
|
const STATUS_MAP = {
|
|
UP: "operational",
|
|
HASISSUES: "degraded",
|
|
UNDERMAINTENANCE: "degraded",
|
|
DOWN: "outage",
|
|
};
|
|
|
|
export async function checkStatus() {
|
|
const res = await fetch(STATUS_URL);
|
|
|
|
if (!res.ok) {
|
|
throw new Error(`SmartPass status request failed (${res.status})`);
|
|
}
|
|
|
|
const data = await res.json();
|
|
const pageStatus = data.page?.status ?? "UNKNOWN";
|
|
const status = STATUS_MAP[pageStatus] ?? "unknown";
|
|
|
|
const message =
|
|
status === "operational"
|
|
? "All services operating normally."
|
|
: `Service status: ${pageStatus}`;
|
|
|
|
return {
|
|
name,
|
|
status,
|
|
message,
|
|
lastUpdated: new Date().toISOString(),
|
|
};
|
|
}
|