Say how much log is kept, and why earlier versions kept less
The size is per file: about twenty megabytes by default, not five. Up to
0.3.0 each process rotated the file on its own and most of it was lost.
Refs postulo/postulo#379
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Say what a fetch refuses, how long it waits, and what an import does with a username
Addresses that carry a private one are refused; a page, its robots.txt
and a logo are held to a whole-download time as well as a size; only
gzip and deflate are unpacked; an archive's username is taken only when
the rules allow it; and Python 3.12.4 is the oldest Python.
Refs postulo/postulo#321
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say what the foot of every page shows, and what it no longer tells a stranger
Configuration gains the two settings the footer reads (where its source
code is, and a legal notice when there is one) and a section on what
the foot of every page holds. Hardening gains *What a stranger is
told*: the version is shown only to people signed in, and `/healthz`
still reports it for monitoring. Installing Postulo and Troubleshooting
stop saying the version is in the footer for everybody, and Installing
says a modified Postulo should point `POSTULO_SOURCE_URL` at its code.
Refs postulo/postulo#212
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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>
Take the pages over from postulo/wiki, which this repository now replaces
Until now this was a copy of postulo/wiki, refreshed by postulo's
scripts/publish-wiki.sh whenever somebody remembered to run it. The last
time was 5 September (postulo@9645ee1). This brings it to postulo@b6cfb8f7:
- the four pages that never arrived: Accessibility, Hardening, Listings
and Reports;
- the seventeen that had changed since;
- the images, which the script never copied because it copied *.md and
nothing else, so Home has shown its logo and its Buy me a coffee button
broken since the day they were added.
Nothing here was lost: every earlier commit is a publish, and the pages
they left matched postulo/wiki at 9645ee1 exactly.
From here pages are written in this repository and nowhere else.
Refs postulo/postulo#169
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>