Close S5 app readiness workplan

This commit is contained in:
2026-06-05 17:59:35 +02:00
parent 3e2eae6b14
commit 9c2713f9c4
8 changed files with 376 additions and 32 deletions

View File

@@ -125,18 +125,26 @@ fail, cert-manager keeps serving the old cert until it expires.
Investigate with `kubectl describe certificate vergabe-teilnahme-tls
-n vergabe-teilnahme`.
## Backup posture (open)
## Data durability and restore readiness
The shared `apps-pg` cluster is not yet covered by an automated
backup job — only the legacy PostgreSQL-HA setup is. Manual logical
dump for now:
`vergabe_db` lives on the shared `apps-pg` CNPG cluster owned by
`railiance-platform`. S5 owns the app release runbook and post-restore app
checks; platform owns the database backup and restore mechanism.
Current status: `apps-pg` backup coverage is still platform follow-up work, so
`vergabe-teilnahme` should not be treated as production-critical data until the
gate in `docs/app-data-backup-restore-handoff.md` is satisfied.
Manual logical dump is a break-glass or inspection option, not the durable
backup contract:
```bash
kubectl exec -n databases apps-pg-1 -- pg_dump -U postgres -Fc vergabe_db > vergabe_db-$(date +%F).dump
```
Tracked as a follow-up in `RAILIANCE-WP-0003 Notes` (CNPG backup
configuration belongs to `railiance-platform`).
Before promotion beyond smoke or development use, record platform backup
evidence, an isolated restore drill, migration result, health check, HTTPS
smoke check, and representative app workflow verification.
## Deferred for v1
@@ -155,6 +163,9 @@ configuration belongs to `railiance-platform`).
- Shared DB cluster: `railiance-platform/docs/apps-pg.md`
- Container registry: `/home/worsch/railiance-forge/docs/gitea-container-registry.md`
- Python package registry: `/home/worsch/railiance-forge/docs/gitea-package-registry.md`
- S5 app onboarding checklist: `docs/s5-app-onboarding-checklist.md`
- App data backup handoff: `docs/app-data-backup-restore-handoff.md`
- Manifest dry-run prerequisites: `docs/manifest-server-dry-run.md`
- Django deployment recipe: `docs/django-on-railiance.md`
- Operator setup: `docs/operator-setup.md`
- Operator recipes: `docs/operator-recipes.md`