feat(ntp): Live peer status tab (chronyc sources)
Adds GET /ntp/sources endpoint (runs chronyc sources, parses tabular output) and a new "Peer status" tab in the NTP page showing all configured peers with mode, state badge, stratum, poll interval, reach register, last-rx and offset/error sample. v1.1.101 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -808,7 +808,24 @@
|
||||
"ntp": {
|
||||
"title": "Time server (Chrony)",
|
||||
"intro": "Chrony as time-sync daemon (NTP). Sources on top, listen/serve config on the settings tab. With 'serve_clients' on and LAN-IPs bound, the box itself becomes an NTP server for the LAN.",
|
||||
"tabs": { "pools": "Sources", "settings": "Settings" },
|
||||
"tabs": { "pools": "Sources", "settings": "Settings", "peers": "Peer status" },
|
||||
"sourcesCard": {
|
||||
"title": "Live peer status (chronyc sources)",
|
||||
"name": "Name / IP",
|
||||
"stratum": "Stratum",
|
||||
"poll": "Poll",
|
||||
"reach": "Reach",
|
||||
"lastRx": "Last rx",
|
||||
"sample": "Offset ± error",
|
||||
"reachHint": "8-bit shift register (octal) — 377 = all 8 recent polls replied. 0 = unreachable.",
|
||||
"empty": "No peer data — is chrony running?",
|
||||
"state_synced": "Synced",
|
||||
"state_combined": "Combined",
|
||||
"state_not_combined": "Not combined",
|
||||
"state_unreachable": "Unreachable",
|
||||
"state_error": "Error",
|
||||
"state_variable": "Variable"
|
||||
},
|
||||
"statusCard": {
|
||||
"title": "Sync status (chronyc tracking)",
|
||||
"sync": "Synchronized",
|
||||
|
||||
Reference in New Issue
Block a user