Add dynamic DNS and show the running kernel on the overview
router.ddns keeps provider records on the uplink's addresses with ddclient, run by a timer and by a watcher that starts it when an address changes. The Dynamic DNS page edits it; the secret is a private file on the router. The overview shows the running kernel and says when the current system boots a different one. PLAN.md records why the A/B image approach was not pursued. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeFqV9dZrK6nipHkPfyM4F
This commit is contained in:
@@ -52,3 +52,18 @@ func TestReadSensors(t *testing.T) {
|
||||
t.Errorf("no sensors: %+v (hottest should be NaN)", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPendingKernel(t *testing.T) {
|
||||
img := "/nix/store/abc123-linux-6.12.5/bzImage"
|
||||
for running, want := range map[string]string{"6.12.5": "", "6.12.5-zen1": "", "6.12.4": "6.12.5", "": ""} {
|
||||
if got := pendingKernel(running, img); got != want {
|
||||
t.Errorf("running %q: %q, want %q", running, got, want)
|
||||
}
|
||||
}
|
||||
if got := pendingKernel("6.12.4", "/boot/vmlinuz"); got != "" {
|
||||
t.Errorf("an unknown path gave %q", got)
|
||||
}
|
||||
if k := systemStatus().Kernel; k == "" {
|
||||
t.Skip("no /proc/sys/kernel/osrelease")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user