add mx99
2 files changed,  +56, -31
M devenv.nix
+1, -1
1@@ -62,7 +62,7 @@
2     shopt -s globstar 2>/dev/null
3 
4     # Use correct Cloudflare context
5-    export CF_ACCOUNT_ID=$(secrets decrypt cloudflare/account_id)
6+    export CLOUDFLARE_ACCOUNT_ID=$(secrets decrypt cloudflare/account_id)
7     export CLOUDFLARE_API_TOKEN=$(secrets decrypt cloudflare/workers_api_key)
8   '';
9 
M wrangler.jsonc
+55, -30
 1@@ -1,32 +1,57 @@
 2 {
 3-  "$schema": "node_modules/wrangler/config-schema.json",
 4-  "name": "monitor",
 5-  "main": "src/index.ts",
 6-  "compatibility_date": "2026-10-01",
 7-  "workers_dev": false,
 8-  "routes": [{ "pattern": "monitor.rtw.run", "custom_domain": true }],
 9-
10-  // Hourly watchdog: makes sure every regional monitor exists and has an alarm set.
11-  "triggers": { "crons": ["0 * * * *"] },
12-
13-  "durable_objects": {
14-    "bindings": [{ "name": "MONITOR", "class_name": "MonitorDO" }]
15-  },
16-  "migrations": [{ "tag": "v1", "new_sqlite_classes": ["MonitorDO"] }],
17-
18-  "send_email": [
19-    { "name": "EMAIL", "destination_address": "[email protected]" }
20-  ],
21-
22-  "vars": {
23-    "ENDPOINTS": ["https://mymood.at/healthz", "https://infra.sovrn.at/healthz"],
24-    "CHECK_INTERVAL_SECONDS": 180,
25-    "TIMEOUT_MS": 10000,
26-    "REMINDER_HOURS": 6,
27-    "ALERT_FROM": "[email protected]",
28-    "ALERT_TO": "[email protected]",
29-    "PUBLIC_URL": "https://monitor.rtw.run"
30-  },
31-
32-  "observability": { "enabled": true }
33+    "$schema": "node_modules/wrangler/config-schema.json",
34+    "name": "monitor",
35+    "main": "src/index.ts",
36+    "compatibility_date": "2026-10-01",
37+    "workers_dev": false,
38+    "routes": [
39+        {
40+            "pattern": "monitor.rtw.run",
41+            "custom_domain": true
42+        }
43+    ],
44+    // Hourly watchdog: makes sure every regional monitor exists and has an alarm set.
45+    "triggers": {
46+        "crons": [
47+            "0 * * * *"
48+        ]
49+    },
50+    "durable_objects": {
51+        "bindings": [
52+            {
53+                "name": "MONITOR",
54+                "class_name": "MonitorDO"
55+            }
56+        ]
57+    },
58+    "migrations": [
59+        {
60+            "tag": "v1",
61+            "new_sqlite_classes": [
62+                "MonitorDO"
63+            ]
64+        }
65+    ],
66+    "send_email": [
67+        {
68+            "name": "EMAIL",
69+            "destination_address": "[email protected]"
70+        }
71+    ],
72+    "vars": {
73+        "ENDPOINTS": [
74+            "https://mymood.at/healthz",
75+            "https://infra.sovrn.at/healthz",
76+            "https://mx99.eu.sovrn.at/healthz"
77+        ],
78+        "CHECK_INTERVAL_SECONDS": 180,
79+        "TIMEOUT_MS": 10000,
80+        "REMINDER_HOURS": 6,
81+        "ALERT_FROM": "[email protected]",
82+        "ALERT_TO": "[email protected]",
83+        "PUBLIC_URL": "https://monitor.rtw.run"
84+    },
85+    "observability": {
86+        "enabled": true
87+    }
88 }