mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-08-06 17:02:59 +02:00
ad07c1521c
- Add per-route health history endpoint (GET /routes/{id}/history)
- Optimize history fetch with _fetch_matching_hops (SQL-level prefix filter)
- Add standalone received_at index on packet_path_hops
- Fix cache key collision by including URL path in _routes_key_builder
- Fix Chart.js canvas reuse with Chart.getChart() guard
- Remove fleet overview endpoint (502 timeout on large datasets)
- Redesign route cards: always expanded, compact icon stats row,
per-segment date labels, loading spinner, bottom-pinned admin buttons
- Rename degraded_threshold -> clear_threshold across model, schema,
API, metrics, CLI, frontend, tests, and seed config
- Add iconClock to icons.js
- Update AGENTS.md: random revision IDs, never build images
- Two Alembic migrations: received_at index, column rename
31 lines
1.3 KiB
YAML
31 lines
1.3 KiB
YAML
# Routes seed file — route health monitoring definitions
|
|
#
|
|
# Loaded by `meshcore-hub seed` (and the compose `seed` profile).
|
|
# A list under the top-level `routes:` key. Each entry has `from`/`to`
|
|
# endpoint labels, the route's knobs, and an ordered `path` of node
|
|
# public_keys (>= 2, distinct) plus an optional `observers` list of
|
|
# public_keys.
|
|
#
|
|
# Entries are upserted by the (from, to) label pair. Path nodes must
|
|
# already exist in the database (create them via node_tags.yaml or let
|
|
# the collector discover them). Observer nodes that don't exist yet are
|
|
# skipped with a warning (not an error).
|
|
|
|
routes:
|
|
- from: Ipswich
|
|
to: Norwich
|
|
description: A140 corridor route
|
|
visibility: community
|
|
match_width: 1
|
|
window_hours: 24
|
|
packet_count_threshold: 3
|
|
# clear_threshold: 10 # optional; omit/null = 2x threshold
|
|
# max_hop_span: 8 # optional; omit/null = unlimited
|
|
enabled: true
|
|
reversible: true # match both directions (A->B and B->A)
|
|
path:
|
|
- a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2
|
|
- 9a8b7c6d5e4f9a8b7c6d5e4f9a8b7c6d5e4f9a8b7c6d5e4f9a8b7c6d5e4f9a8b
|
|
# observers: # optional; omit/empty = all observers
|
|
# - 0102030405060102030405060102030405060102030405060102030405060102
|