#!/usr/bin/env python3 import json import os import time import subprocess from pathlib import Path # Allegro Failover Monitor # Health-checking the VPS fleet for Timmy's resilience. FLEET = { "ezra": "143.198.27.163", # Placeholder "bezalel": "167.99.126.228" } STATUS_FILE = Path.home() / ".timmy" / "failover_status.json" def check_health(host): try: subprocess.check_call(["ping", "-c", "1", "-W", "2", host], stdout=subprocess.DEVNULL) return "ONLINE" except: return "OFFLINE" def main(): print("--- Allegro Failover Monitor ---") status = {} for name, host in FLEET.items(): status[name] = check_health(host) print(f"{name.upper()}: {status[name]}") STATUS_FILE.parent.mkdir(parents=True, exist_ok=True) STATUS_FILE.write_text(json.dumps({ "timestamp": time.time(), "fleet": status }, indent=2)) if __name__ == "__main__": main()