Implement all vendor integrations, WAN graphs, and FortiGate health panel

- 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>
This commit is contained in:
Klein
2026-02-20 13:46:13 -05:00
parent 7d8cde8f92
commit 51eb3bf7c8
39 changed files with 1776 additions and 59 deletions
+22
View File
@@ -13,6 +13,17 @@ import * as schoolmessenger from "./schoolmessenger.js";
import * as fortinet from "./fortinet.js";
import * as mcgrawHill from "./mcgraw-hill.js";
import * as localInfrastructure from "./local-infrastructure.js";
import * as amazonAws from "./amazon-aws.js";
import * as cloudflare from "./cloudflare.js";
import * as sherpadesk from "./sherpadesk.js";
import * as studyIsland from "./study-island.js";
import * as classkick from "./classkick.js";
import * as classdojo from "./classdojo.js";
import * as savvas from "./savvas.js";
import * as schoolDismissalManager from "./school-dismissal-manager.js";
import * as smartpass from "./smartpass.js";
import * as promethean from "./promethean.js";
import * as razKids from "./raz-kids.js";
export const providers = [
microsoft365,
@@ -30,4 +41,15 @@ export const providers = [
fortinet,
mcgrawHill,
localInfrastructure,
amazonAws,
cloudflare,
sherpadesk,
studyIsland,
classkick,
classdojo,
savvas,
schoolDismissalManager,
smartpass,
promethean,
razKids,
];