Esta página ainda não está traduzida — é apresentada em inglês.

Blog

Technical write-ups on building okokumo, in public.

The cron job that stopped running

2026-09-14

A job that fails sends you a stack trace. A job that never starts sends you nothing, and nothing looks exactly like success. How heartbeat checks turn silence into a signal — and how to size the grace window so a slow nightly backup doesn't page you at 3am.

guideheartbeat

Why we delete your job output after 30 days

2026-09-13

A retention number without its error bar is marketing. We publish 90 days for check results and 30 days for the output your job attaches to a failed ping — plus how far past each one a record can actually survive, because we measured it and the first number we published was wrong.

engineeringprivacy

Your SSL certificate expires in production, not in staging

2026-09-07

Certificate expiry is the most preventable outage in the industry and it still takes down major products every year. Why escalating D-30/D-14/D-7/D-1 alerts, chain validation, and domain-expiry checks belong in the same monitor as your uptime probes.

guidetls

Writing assertions that catch a "200 OK" outage

2026-09-06

A 200 with an empty body, a stale cache, or a pretty error page is still an outage. How to layer status, latency, body and header assertions so a check verifies the service works — not just that something answered.

guidehttp-checks

Pause the alerts, not the check

2026-09-04

Disabling a check during planned work stops the probing too, which leaves a hole in the uptime history exactly where the interesting hour was. How okokumo suppresses paging without suppressing measurement — and what has to happen when the window closes and the thing is still down.

engineeringalerting

A canary for alerting: breaking our own API every morning

2026-08-31

A monitoring product's worst failure is silence, because a broken alerting pipeline looks exactly like a quiet week. Here is the alert of ours that reached nobody, why health checks could not see it, and the endpoint that breaks on purpose every morning so that silence becomes something a pager outside our own infrastructure can see.

engineeringalerting

How to create your first check on okokumo

2026-08-18

A walkthrough of the first ten minutes in okokumo — set up an alert channel, create an HTTP check, read what it tells you, then publish a status page if you want one.

guidegetting-started

Custom domains, on-demand TLS, and the endpoint that says no

2026-08-18

Letting a customer serve their status page from status.theircompany.com is four lines of Caddy config and one endpoint you must not get wrong. How okokumo gates certificate issuance, verifies with a single CNAME, and takes a hostname back when it stops pointing at us.

engineeringtls

Multi-region confirmation without false positives

2026-08-13

A monitoring tool that cries wolf gets muted, and a muted tool is worse than none. How okokumo requires two probe regions to agree before it pages you — and why it deliberately stops requiring that when a probe dies.

engineeringalerting

Designing a check scheduler

2026-07-27

How okokumo schedules thousands of due checks without a global periodic scan, and without double-firing when two scheduler ticks overlap.

engineeringscheduling