docs: refresh wiki for /healthz, JSON logs, deploy-prep status

claude-code 2026-04-19 12:29:12 -06:00
parent ad5026b3eb
commit 3b24d98b18

23
Home.md

@ -13,7 +13,7 @@ real spending on the applied side.
* [DevelopmentGuide](DevelopmentGuide) — prerequisites, setup, run, test,
project layout, conventions, throwaway-DB pattern
* [Operations](Operations) — backup script, restore, DB safety rule,
alembic hook
alembic hook, /healthz endpoint, structured JSON logs
* [Roadmap](Roadmap) — shipped features and what's deferred
## At a glance
@ -28,6 +28,10 @@ real spending on the applied side.
its backing ledger of transactions (postings) and add more. Applied
is always `sum(postings.amount)`, never typed directly. Rows carry
deviation tags when edited or added post-snapshot.
* `/healthz` — unauthenticated health probe. Returns 200 `{"status":"ok"}`
when the DB is reachable, 503 `{"status":"error","detail":<exc-class>}`
otherwise. Targets the Docker `HEALTHCHECK` and the platform's
container-down alert.
* **Zero Amount header** on both pages. Green when every dollar is
assigned, amber when unassigned income remains, red when over-budget.
The logo anchors the left of the hero; Applied / Planned flank the big
@ -72,8 +76,21 @@ Shipped: initial scaffold, monthly snapshot with deviation tags, database
backup script with alembic auto-hook, zero-amount header, section groups
with collapsible headers, sinking funds section, per-entry notes, month
lifecycle with the balance gate, UI redesign in Barlow Condensed + logo,
backing transaction ledger with `applied` derived from postings. See the
[Roadmap](Roadmap) for what is next.
backing transaction ledger with `applied` derived from postings,
budget-side inline edit of entry name and amount, `/healthz` endpoint,
structured JSON logs on stdout with five seed application events for
Loki. See the [Roadmap](Roadmap) for what is next.
## Deploy
Production is home-ctr-onyx (homelab). The deploy contract with the
homelab platform is documented on the platform wiki as
[PlatformContractQuartermaster](https://forgejo.labbity.unbiasedgeek.com/homelab/homelab-IaC/wiki/PlatformContractQuartermaster).
Platform-side provisioning (DNS for `quartermaster.unbiasedgeek.com`,
Traefik basic-auth + rate-limit middlewares, `/mnt/quartermaster/` bind
mount with nightly restic) is complete. Container side (Dockerfile,
`compose.yml`, Forgejo Actions workflow) is tracked under open issues
and will land in a follow-up session.
## Code