Add infra/opennotificaties/docker-compose.yml (PostGIS db, redis broker, migrate-init, API, celery worker) on a shared `cg` network with the OpenZaak stack (renamed oz->cg), published on host :8001. Add combined `make stack-up/stack-smoke/stack-down` targets and a runbook. Completes S-01's acceptance: OpenZaak + Open Notificaties + Postgres come up in compose and a health check confirms all reachable (OZ 403/302/200, NRC 302; cross-network DNS verified). Catalogus seed landed in S-01-b. OZ->NRC notification *delivery* wiring (NRC setup_configuration: Services + Authorization + JWT + Kanalen + Abonnementen; OZ NotificationConfig; re- enabling NOTIFICATIONS_DISABLED) is deferred to S-06 (Event Subscriber), the slice that consumes events. NRC data.yaml is migrate-only until then. Verified: `make stack-smoke` green (both platforms reachable). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
# Open Notificaties (NRC) runbook
|
|
|
|
The Open Notificaties stack (`infra/opennotificaties/docker-compose.yml`) is a lean
|
|
adaptation of the upstream dev compose: PostGIS db, redis (also the Celery broker), a
|
|
one-shot migrate-init, the API, and a celery worker. It shares the **`cg`** Docker
|
|
network with the OpenZaak stack so the two can reach each other by service name.
|
|
|
|
NRC is published on host **:8001** (OpenZaak holds :8000).
|
|
|
|
## Quick test (`make`) — both platforms together
|
|
|
|
```bash
|
|
make stack-up # OpenZaak + Open Notificaties on the shared network
|
|
make stack-smoke # start both + assert reachable (OZ 403/302/200, NRC 302)
|
|
make stack-down # stop + wipe both
|
|
```
|
|
|
|
`make stack-smoke` runs `docker compose -f infra/openzaak/... -f infra/opennotificaties/... up -d`
|
|
and asserts:
|
|
|
|
| Check | Expected |
|
|
|---|---|
|
|
| OpenZaak `GET /zaken/api/v1/zaken` (no JWT) | 403 (auth enforced) |
|
|
| OpenZaak `GET /admin/` | 302 |
|
|
| Open Notificaties `GET /admin/` | 302 |
|
|
|
|
NRC admin UI: <http://localhost:8001/admin/> (dev superuser **admin / admin**).
|
|
|
|
## Notification wiring is deferred to S-06
|
|
|
|
Both platforms are **up and reachable**, but OpenZaak→NRC notification *delivery* is not
|
|
wired yet, and OpenZaak still runs with `NOTIFICATIONS_DISABLED=true`. The bidirectional
|
|
auth wiring (NRC `setup_configuration`: Services + Authorization to OpenZaak's
|
|
Autorisaties API + JWT secrets + Kanalen + Abonnementen; OpenZaak's NotificationConfig)
|
|
lands with **S-06 (Event Subscriber)** — the slice that actually consumes events. NRC's
|
|
`setup_configuration/data.yaml` is intentionally minimal (migrations only) until then.
|
|
|
|
This matches S-01's acceptance, which asks only that the platforms *come up in compose*
|
|
and a health check confirms them reachable.
|
|
|
|
## Prerequisites
|
|
|
|
Same rootless-Podman setup as the rest of the repo — see [ci.md](ci.md) and
|
|
[openzaak.md](openzaak.md). `systemctl --user start podman.socket` once per session.
|