feat(infra): register RegisterRecord objecttype + published version in Objecttypen (refs #141)

The Objecttypen setup_configuration (3.4.2) can only provision tokens, with
no declarative objecttype step, so a registerrecord-init compose one-shot
creates the RegisterRecord objecttype + a published v1 over the API once
Objecttypen is healthy (idempotent; ADR-0020 self-seed pattern). The schema
(infra/objecttypen-registerrecord/registerrecord.schema.json) is public-safe
— id, status, reference — mirroring the BFF's OpenbaarEntry, no bsn/naam;
dataClassification 'open'. S-19 writes records against it on approval.

Config (schema + register.py) is streamed into rr-registerrecord-config by
seed-config.sh (main) / bind-mounted (local), same dual pattern as the
setup_configuration volumes. Wired into SEED, CFG_VOLS, and the CI log-dump.

Verified locally: registerrecord-init registered RegisterRecord v1 published,
make verify-registerrecord green, and a re-run is a no-op.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
not
2026-07-27 15:17:06 +02:00
co-authored by Claude Opus 4.8
parent 2bb18f4a51
commit 5f38f761d1
7 changed files with 140 additions and 8 deletions
+15
View File
@@ -624,6 +624,21 @@ services:
condition: service_completed_successfully
networks: [cg]
# ── RegisterRecord objecttype (S-18c) — API-seeded one-shot (local variant) ─
registerrecord-init:
image: docker.io/library/python:3-slim
environment:
OBJECTTYPEN: http://objecttypen:8000
OBJECTTYPEN_TOKEN: ${OBJECTTYPEN_TOKEN:-0123456789abcdef0123456789abcdef01234567}
SCHEMA: /config/registerrecord.schema.json
command: python /config/register.py
volumes:
- ./objecttypen-registerrecord:/config:ro,z
depends_on:
objecttypen:
condition: service_healthy
networks: [cg]
# ── Objecten API (S-18b) — bind-mounted config (local variant) ─────────────
objecten-db:
image: docker.io/postgis/postgis:17-3.5