fix(recovery): preserve reboot evidence across delayed startup

This commit is contained in:
ogt
2026-07-11 17:16:38 +08:00
parent 10df0e9c95
commit 152fcbca05
12 changed files with 688 additions and 14 deletions

View File

@@ -0,0 +1,57 @@
{
"schema_version": "external_l0_recovery_supervisor_config_v1",
"callback_allowlist_root": "/usr/local/libexec/awoooi-l0",
"thresholds": {
"outage_consecutive_samples": 2,
"recovery_consecutive_samples": 2,
"minimum_failed_targets": 3,
"minimum_healthy_targets": 4
},
"targets": [
{
"id": "awoooi-api",
"url": "https://awoooi.wooo.work/api/v1/health",
"expected_statuses": [200],
"timeout_seconds": 5
},
{
"id": "awoooi-web",
"url": "https://awoooi.wooo.work/",
"expected_statuses": [200, 307, 308],
"timeout_seconds": 5
},
{
"id": "gitea",
"url": "https://gitea.wooo.work/",
"expected_statuses": [200],
"timeout_seconds": 5
},
{
"id": "stock-freshness",
"url": "https://stock.wooo.work/api/v1/system/freshness",
"expected_statuses": [200],
"timeout_seconds": 5
}
],
"required_callback_ids": {
"outage_confirmed": ["telegram_down", "maintenance_activate", "power_restore_99"],
"recovering": ["agent99_recover_enqueue", "telegram_recovering"],
"recovered": ["maintenance_clear", "telegram_recovered", "closure_writeback"]
},
"callbacks": {
"outage_confirmed": [
{"id": "telegram_down", "path": "/usr/local/libexec/awoooi-l0/telegram-down", "timeout_seconds": 15},
{"id": "maintenance_activate", "path": "/usr/local/libexec/awoooi-l0/maintenance-activate", "timeout_seconds": 30},
{"id": "power_restore_99", "path": "/usr/local/libexec/awoooi-l0/power-restore-99", "timeout_seconds": 30}
],
"recovering": [
{"id": "agent99_recover_enqueue", "path": "/usr/local/libexec/awoooi-l0/agent99-recover-enqueue", "timeout_seconds": 30},
{"id": "telegram_recovering", "path": "/usr/local/libexec/awoooi-l0/telegram-recovering", "timeout_seconds": 15}
],
"recovered": [
{"id": "maintenance_clear", "path": "/usr/local/libexec/awoooi-l0/maintenance-clear", "timeout_seconds": 30},
{"id": "telegram_recovered", "path": "/usr/local/libexec/awoooi-l0/telegram-recovered", "timeout_seconds": 15},
{"id": "closure_writeback", "path": "/usr/local/libexec/awoooi-l0/closure-writeback", "timeout_seconds": 30}
]
}
}