<feed xmlns='http://www.w3.org/2005/Atom'>
<title>console.git/statuspage/render.sh, branch master</title>
<subtitle>Monitor for my server
</subtitle>
<id>http://cgit.dandokmang.com/console.git/atom?h=master</id>
<link rel='self' href='http://cgit.dandokmang.com/console.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/'/>
<updated>2026-07-01T08:46:11Z</updated>
<entry>
<title>Add scientifica bitmap font and wire it into the status page</title>
<updated>2026-07-01T08:46:11Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T08:46:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=df56450813b04c09cd24783c6ae3093f189c4519'/>
<id>urn:sha1:df56450813b04c09cd24783c6ae3093f189c4519</id>
<content type='text'>
Bundle scientifica.ttf/Bold/Italic in statuspage/fonts/ (dropped the
.bdf/.otb variants - those are X11/console bitmap formats, browsers
can't load them via @font-face). Mark font extensions as binary in
.gitattributes so git never attempts CRLF conversion on them.

render.sh now symlinks fonts/ into the Caddy-served output directory
on every run (idempotent) since Caddy serves /usr/local/www/status,
not this checkout - the font file has to physically exist next to
index.html for the browser to fetch it.

Also: fixed bad kerning/cramped line spacing from an earlier attempt
at applying the font's recommended Terminal.app settings (which don't
translate 1:1 to CSS), and added a hanging indent (.label class,
text-indent + padding-left) so long wrapped label text - notably
pf.sh's rule listing - aligns under the label instead of the status
square when it wraps to a second line.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix uptime to include hours/minutes, add a purple/gold theme</title>
<updated>2026-07-01T08:08:29Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T08:08:29Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=45f7fb33d96350798bfcc16877be152e2fa308bf'/>
<id>urn:sha1:45f7fb33d96350798bfcc16877be152e2fa308bf</id>
<content type='text'>
hw.sh's uptime was parsed from `uptime`'s text output, which cut off
at the first comma - dropping the H:MM part entirely. It also never
actually rolled over to months/years for long uptimes (FreeBSD's
uptime just keeps growing the day count). Replaced with a direct
`sysctl kern.boottime` computation for a fully deterministic "Nd Hh
Mm" format. Caught a real bug along the way: the first attempt at the
sed extraction grabbed `usec` instead of `sec`, since "usec" contains
"sec" as a substring and the pattern wasn't anchored tightly enough.

render.sh's palette now uses purple/lavender for headings and borders
and a gold accent (title underline, value-column text), taking cues
from reference character art. The green/yellow/red/gray status
squares are untouched - they carry semantic meaning the color scheme
shouldn't interfere with.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Lay sections out in a multi-column flow instead of one long column</title>
<updated>2026-07-01T07:58:34Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T07:58:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=f0c6add973af795f3ed9b069bcdba16fb7f1f66b'/>
<id>urn:sha1:f0c6add973af795f3ed9b069bcdba16fb7f1f66b</id>
<content type='text'>
pf.sh's rule listing made the page noticeably taller without using any
of the available width. Wrap each section in a .section block and the
whole set in a .cols container using CSS multi-column layout
(column-width: 380px) - sections flow left-to-right/top-to-bottom
across however many columns fit the window, each staying intact
(break-inside: avoid) rather than splitting a table mid-page.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add pf visibility and a wg-quick watcher check, add a neutral row status</title>
<updated>2026-07-01T07:52:22Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T07:52:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=a034c6724381b172ba4b6d36357682c44f18b8de'/>
<id>urn:sha1:a034c6724381b172ba4b6d36357682c44f18b8de</id>
<content type='text'>
checks/pf.sh reports pf enabled/disabled, state table usage (warn/down
as it nears the configured limit), and the loaded filter/nat rule
count, then lists each active rule as its own row for at-a-glance
visibility into what's actually being enforced.

Those rule rows use a new "info" status (gray square) rather than
"ok" - they're not a health check on any individual rule, so a green
square there would misleadingly imply otherwise. render.sh maps
info -&gt; gray; anything else still falls back to red.

checks/wg-watcher.sh checks the route-monitor process wg-quick spawns
to react to WAN interface/address changes - it isn't rc.d-managed, so
there's no `service status` for it, hence the new proc_running helper
in lib/common.sh (pgrep -f based).

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Mark statuspage shell scripts executable in git</title>
<updated>2026-07-01T06:40:07Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T06:40:07Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=aa73d4e03d0905b884cde1ed3c2f0bdf35f5ef30'/>
<id>urn:sha1:aa73d4e03d0905b884cde1ed3c2f0bdf35f5ef30</id>
<content type='text'>
core.fileMode is false in this repo (Windows checkout), so the earlier
commit recorded every checks/*.sh, lib/common.sh, and render.sh as
100644. render.sh skips non-executable files silently, so without this
the deployed page would render with zero rows.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Split monolithic status check.sh into modular check scripts</title>
<updated>2026-07-01T06:38:51Z</updated>
<author>
<name>batsumaru</name>
<email></email>
</author>
<published>2026-07-01T06:38:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.dandokmang.com/console.git/commit/?id=dfec6df2fb876fadb20d24a5bd8f4b4400a0f659'/>
<id>urn:sha1:dfec6df2fb876fadb20d24a5bd8f4b4400a0f659</id>
<content type='text'>
Replace the single-file prototype with independently-addable check
scripts (checks/*.sh) that each emit JSONL rows, a shared helper lib,
and one orchestrator/renderer (render.sh) that groups rows by section
and writes the static status page. A broken check script now shows up
as a down/warn row instead of crashing the whole render.

Co-Authored-By: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
