From 89fc1cbdc5842dde0bdbc2e4e2f2929e59fc4302 Mon Sep 17 00:00:00 2001 From: DeepZone Date: Wed, 20 May 2026 15:45:37 +0100 Subject: [PATCH] Add RIPEstat retry resilience, fallback diagnostics, and v0.4.2-alpha bump --- .env.example | 5 + README.md | 18 +- RELEASE_NOTES.md | 13 ++ backend/app/api/routes_system.py | 2 +- backend/app/config.py | 4 + backend/app/core/source_diagnostics.py | 10 + backend/app/main.py | 2 +- backend/app/services/ripe_stat_client.py | 266 +++++++++++------------ backend/app/templates/report.html.j2 | 2 +- backend/app/templates/report.md.j2 | 4 +- backend/pyproject.toml | 2 +- backend/tests/test_api_smoke.py | 6 +- backend/tests/test_ripe_stat_client.py | 75 +++++-- backend/tests/test_source_diagnostics.py | 8 + frontend/package-lock.json | 4 +- frontend/package.json | 2 +- frontend/src/App.tsx | 6 +- frontend/src/components/Layout.tsx | 2 +- frontend/src/components/ReportView.tsx | 2 +- frontend/src/types.ts | 5 + 20 files changed, 266 insertions(+), 172 deletions(-) diff --git a/.env.example b/.env.example index 18deb2c..1b7298c 100644 --- a/.env.example +++ b/.env.example @@ -6,3 +6,8 @@ CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 RIPESTAT_BASE_URL=https://stat.ripe.net/data ROUTEFORGE_DEMO_MODE=false VITE_API_URL=http://localhost:8000 + +RIPESTAT_TIMEOUT_SECONDS=10 +RIPESTAT_MAX_RETRIES=1 +RIPESTAT_RETRY_BACKOFF_SECONDS=0.5 +RIPESTAT_USE_STALE_CACHE_ON_ERROR=true diff --git a/README.md b/README.md index 932fb58..4d7fbc9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ RouteForge is a read-only routing preflight and explainability tool for BGP, RPKI, Registry/IRR and Routing Visibility checks. -Current user-facing version: **v0.4.1-alpha**. +Current user-facing version: **v0.4.2-alpha**.