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
+3 -2
View File
@@ -13,7 +13,7 @@
# subcommand. Fixed-name `external` volumes keep the names deterministic across
# both runtimes. See docs/runbooks/gitea-actions-gotchas.md.
#
# Usage: seed-config.sh <key> [<key> ...] where key ∈ { oz, nrc, kc, fl, objecttypen, objecten }
# Usage: seed-config.sh <key> [<key> ...] where key ∈ { oz, nrc, kc, fl, objecttypen, objecten, registerrecord }
set -euo pipefail
here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
@@ -33,7 +33,7 @@ populate() { # volume source(file or dir/.)
echo " seeded $vol"
}
[ "$#" -gt 0 ] || { echo "usage: seed-config.sh <oz|nrc|kc|fl|objecttypen|objecten> ..." >&2; exit 2; }
[ "$#" -gt 0 ] || { echo "usage: seed-config.sh <oz|nrc|kc|fl|objecttypen|objecten|registerrecord> ..." >&2; exit 2; }
# The registratie process (BPMN) and its diploma-eligibility DMN are deployed as SEPARATE Flowable
# deployments — the process engine and the DMN engine each own theirs (S-13, ADR-0016). flowable-rest
@@ -51,6 +51,7 @@ for key in "$@"; do
kc) populate rr-kc-realms "$here/keycloak/realms/." ;;
objecttypen) populate rr-objecttypen-config "$here/objecttypen/setup_configuration/." ;;
objecten) populate rr-objecten-config "$here/objecten/setup_configuration/." ;;
registerrecord) populate rr-registerrecord-config "$here/objecttypen-registerrecord/." ;;
fl) d="$(mktemp -d)"; stage_flowable_workflows "$d"; populate rr-fl-bpmn "$d/." ;;
*) echo "unknown seed key: $key" >&2; exit 2 ;;
esac