Add Voyager tunnel and monitoring telemetry

This commit is contained in:
2026-09-27 22:11:16 -04:00
parent 34c03bc047
commit b91af32561
5 changed files with 189 additions and 24 deletions
+25 -9
View File
@@ -1,27 +1,43 @@
#!/usr/bin/env python3
import logging
from pathlib import Path
from collectors.docker import collect as docker_collect
from .common import write_json
from collectors.backup import collect as backup_collect
from collectors.git import collect as git_collect
from collectors.certificates import collect as certificates_collect
from collectors.git import collect as git_collect
from collectors.monitoring import collect as monitoring_collect
from collectors.system import collect as system_collect
from collectors.wireguard import collect as wireguard_collect
from .common import write_json
OUTPUT = Path("/opt/docker/caddy/site/voyager/data/status.json")
LOGGER = logging.getLogger(__name__)
def collect_safely(name, collector):
try:
return collector()
except Exception:
LOGGER.exception("%s telemetry collection failed", name)
return {
"state": "offline", "health": "unavailable",
"summary": "Unavailable", "detail": f"{name} telemetry unavailable",
}
def main():
payload = {
"systems": {
"backup": backup_collect(),
"git": git_collect(),
"docker": docker_collect(),
"certificates": certificates_collect(),
"system": system_collect(),
"backup": backup_collect(),
"git": git_collect(),
"docker": docker_collect(),
"certificates": certificates_collect(),
"system": system_collect(),
"wireguard": collect_safely("WireGuard", wireguard_collect),
"monitoring": collect_safely("Monitoring", monitoring_collect),
}
}
write_json(OUTPUT, payload)