Health metrics and logs
Tiago Águeda edited this page 2026-10-28 16:35:08 +01:00

Page revisions

10 Commits

Author SHA1 Message Date
633bf5175d
Backup destinations: the kind, encryption with age, off-site copies (postulo/postulo#325)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 16:35:08 +01:00
e1bb346c5d
Describe the security round: API limits, metrics token, backups, uploads, proxies
Refs postulo/postulo#799
Refs postulo/postulo#800
Refs postulo/postulo#801
Refs postulo/postulo#810
Refs postulo/postulo#812
Refs postulo/postulo#813
Refs postulo/postulo#815
Refs postulo/postulo#817

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 17:36:35 +02:00
febed195d5 Document managing backups from Server settings (#242)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 07:19:32 +02:00
df0dee3eeb
Say how wrong tokens are counted and how to make a token
Refs postulo/postulo#472
2026-10-03 18:57:25 +02:00
f433354eaf
Say how a collector reads /logs in pages
The oldest records after `since`, what a full answer means, what `since`
accepts, and the one case a time cannot cover.

Refs postulo/postulo#475

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 02:02:41 +02:00
2f777811df
Say that the container's health check does not depend on the host list
And name the third reason a container was called unhealthy up to 0.3.0:
a host list that left out 127.0.0.1.

Refs postulo/postulo#580

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:40:54 +02:00
7d06b812aa
Say how a capture keeps the page it was read from, and what keeps that page harmless
Capturing postings gains *Keeping the page*: the source and a
rendering, both off until an administrator and then the person switch
them on, where the kept page is, how long it stays and the account's
ceiling. Its two sentences that still called the browser extension
planned now point at the one that exists.

The capture API documents `keep` and the `page` member of a capture,
the `PUT` that sends a rendering with its answers, the three problem
types it adds, the `413` a request too large for the API now gets, and
what the extensions send today. Configuration lists the six settings
and why keeping is off by default; Hardening says why a kept page never
runs as the stranger's code; the metrics page counts kept pages.

Refs postulo/postulo#256

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 14:15:01 +02:00
4efa789f60
Configuration, logs and troubleshooting: request ids, POSTULO_LOG_FORMAT, the start-up checks
Refs postulo/postulo#233

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 15:51:02 +02:00
b6fa8c0488
Say how to notice that the scheduler has stopped
The scheduler fails quietly: nothing errors, reminders simply stop arriving, and
the first person to find out is the one who missed a deadline. It now writes the
time of each finished pass where both its own container healthcheck and the
metrics endpoint in the web container can read it, so *Health, metrics and logs*
gains the heartbeat, the two new numbers beside it, and three alerting rules --
one for the loop having stopped, one for it running but not getting through, and
one for deliveries that have been failing for an hour. The reminder count there
also changed meaning: it was every reminder anybody had ever set and not done,
which grows because the instance is being used and so could not be alerted on.

Refs postulo/postulo#221

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 13:15:14 +02:00
d95b27d240
Document the whole API surface: every call, the machine endpoints, the plugin API
The API named every call, but the scope each needs lived in prose, and
the discard reasons and what /me answers were not written anywhere. It
gains both, and one list of all 39 calls with method, path and scope,
generated from the API's own routers.

/healthz, /metrics and /logs answer machines about the instance and
were only rows in Configuration. Health, metrics and logs says what
each returns, how it is switched on and guarded, the rate limit, the
parameters /logs takes, and every metric with its labels.

The plugin guide was postulo's docs/PLUGINS.md and never reached the
wiki. It is Writing a plugin now, opening with every kind of plugin,
its entry-point group and the interface it satisfies, and carrying a
reference of all 37 names postulo.plugins.api promises -- eight of
which the guide had never named. It also says plainly that a
notifier's Notification, and the client's DestinationRefused, are used
from outside the surface today.

The sidebar gains a Building on it group for the API and the plugin
guide, and the three pages that linked to docs/PLUGINS.md link here.
postulo's tests/test_wiki_surface.py now reads these three pages
against the code.

Refs postulo/postulo#170

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 14:36:50 +02:00