Homepage (TDD slice 7): fix the /admin/ path + status.json perms

Two real bugs found on the first production deploy:
- /admin/ 404'd: file_server looked for /srv/homepage/admin/ (a dir), but the
  page is admin.html. Add '@admin rewrite * /admin.html' so the /admin/ path
  serves admin.html.
- The pages used relative refs (style.css, app.js, services.json, status.json),
  which from /admin/ resolved to /admin/... (404). Add <base href="/"> so all
  refs resolve to the site root on both pages.
- status.json was written 0600 (root); the checker now chmods it 0644 so Caddy
  can serve it regardless of its user.
This commit is contained in:
Frank committed 2026-08-23 16:49:33 -07:00
1 parent b485a27784
commit e7eaba4457
7 files changed
+20

No files matched your search

+7
View File
@@ -88,3 +88,10 @@ assert s["realhttp"] == "up", s
PY
kill "$RAW_PID" "$HTTP_PID" 2>/dev/null
}
@test "the checker writes status.json world-readable so Caddy can serve it" {
local svc="$TMP/services.json" out="$TMP/status.json"
echo '[{"name":"x","category":"user","probe":"127.0.0.1:1","method":"tcp","wip":true}]' > "$svc"
python3 "$CHECKER" "$svc" "$out"
[ "$(stat -c %a "$out")" = "644" ]
}