Add governed Statbel release promotion
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-17 00:19:47 +02:00
parent 6187a9d41d
commit d0a8a3ad15
14 changed files with 1401 additions and 28 deletions
+37
View File
@@ -1752,6 +1752,43 @@ to the DatasetService-based persistence path. Existing snapshots are retained.
The coordinator accepts no provider URL, collection name, arbitrary process or
automatic schedule.
## Governed Statbel population release
Use the population release coordinator only inside the GeoIntel container.
It derives the exact population and matching sector-geometry URLs from the
strict official catalog contract; operators cannot inject another provider
URL.
```bash
docker exec geointel python /app/scripts/manage_statbel_population_release.py plan \
--project-id <KEMPEN_PROJECT_ID> --refresh-catalog
docker exec geointel python /app/scripts/manage_statbel_population_release.py stage \
--project-id <KEMPEN_PROJECT_ID> \
--confirm-edition <YEAR_FROM_PLAN> --confirm-layout <LAYOUT_FROM_PLAN>
docker exec geointel python /app/scripts/manage_statbel_population_release.py review \
--project-id <KEMPEN_PROJECT_ID> \
--confirm-edition <YEAR_FROM_PLAN> --confirm-layout <LAYOUT_FROM_PLAN> \
--confirm-plan-sha256 <SHA256_FROM_STAGE> \
--approve --reviewer "<OPERATOR_NAME>"
docker exec geointel python /app/scripts/manage_statbel_population_release.py apply \
--project-id <KEMPEN_PROJECT_ID> \
--confirm-edition <YEAR_FROM_PLAN> --confirm-layout <LAYOUT_FROM_PLAN> \
--confirm-plan-sha256 <SHA256_FROM_STAGE> \
--confirm-review-sha256 <SHA256_FROM_REVIEW>
```
`plan` writes nothing. `stage` downloads within the population/geometry size
bounds, invokes the existing provisioner with `--force --fetch-only` and emits
`staged-plan.json`. `review` requires a named approval and emits
`review-evidence.json`. `apply` refuses catalog drift or any changed source,
manifest, snapshot, plan or review byte, then delegates to the canonical
DatasetService upload. `applied-evidence.json` records the resulting Dataset
without deleting any historical snapshot. Current, older, unavailable or
ambiguous releases are fail-closed.
## Tower deployment
Push the local branch to Gitea, then rebuild the Unraid/Tower Docker runtime: