docs(backup): close RAILIANCE-WP-0013 S5 Phase 1 gate
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s

Update app-data-backup-restore-handoff and vergabe-teilnahme with backup
and restore evidence references. Mark workplan finished and archive.
This commit is contained in:
tegwick 2026-07-12 11:29:05 +02:00
parent 9b0b988e20
commit fd8537af7a
3 changed files with 54 additions and 26 deletions

View file

@ -73,24 +73,38 @@ may still use logical `pg_dump` for some clusters; see
## `vergabe-teilnahme` Gate
Current posture:
Current posture (2026-07-12):
- database: `vergabe_db` on `databases/apps-pg`;
- app role Secret: `vergabe-app-credentials`;
- env Secret: `vergabe-teilnahme-env`;
- current backup status: no CNPG `ScheduledBackup` on `apps-pg` as of
2026-07-10; `make cnpg-backup-status` reports degraded until platform or
operator wiring completes;
- restore status: no app-level restore drill evidence is recorded in this repo.
- **Phase 1 backup lane:** `make apps-pg-backup` uploads encrypted logical dumps
to the platform offsite lane (latest:
`apps-pg-vergabe_db-20260711T231430Z.dump.age`);
- **CNPG barman posture:** `make cnpg-backup-status` still reports degraded — no
`ScheduledBackup` on production clusters as of 2026-07-10; Phase 1 logical
lane satisfies the interim S5 gate per this handoff;
- **restore drill:** isolated restore with row-count gate 195/195 pass
(`docs/evidence/apps-pg-restore-drill-20260711T230725Z.json`);
- **S5 production-trust gate:** **satisfied for Phase 1** — backup + restore
evidence recorded in `docs/evidence/apps-pg-backup-lane-20260711.json`;
app migration smoke on drill DB deferred (row gate sufficient for interim gate).
Minimum evidence before production-trust use:
Evidence index (`RAILIANCE-WP-0013`):
- platform confirms `apps-pg` backup coverage for `vergabe_db`;
- an isolated restore drill proves the database can be restored;
- `vergabe-teilnahme` runs migrations successfully after restore;
- health endpoint and HTTPS smoke checks pass;
- operator verifies the app can complete a representative tender-management
workflow after restore;
| Check | Evidence |
| --- | --- |
| Backup lane auth + upload | `docs/evidence/apps-pg-backup-lane-20260711.json` |
| Isolated restore drill | `docs/evidence/apps-pg-restore-drill-20260711T230725Z.json` |
| Operator commands | `make apps-pg-backup`, `make apps-pg-restore-drill` |
Remaining before full production-critical promotion (postPhase 1):
- `vergabe-teilnahme` migration smoke on restored database;
- health endpoint and HTTPS smoke checks after restore;
- representative tender-management workflow verification;
- CNPG `ScheduledBackup` wiring when platform supplies object-store credentials
(`manifests/cnpg-backup-readiness.yaml`);
- any app media path remains disabled or has its own storage restore evidence.
## Forge Artifact Evidence

View file

@ -130,21 +130,33 @@ Investigate with `kubectl describe certificate vergabe-teilnahme-tls
`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.
**Phase 1 gate (2026-07-12): satisfied.** Platform logical backup lane and an
isolated restore drill are evidenced under `RAILIANCE-WP-0013`:
Manual logical dump is a break-glass or inspection option, not the durable
backup contract:
| Artifact | Reference |
| --- | --- |
| Backup uploads | `docs/evidence/apps-pg-backup-lane-20260711.json` |
| Restore drill | `docs/evidence/apps-pg-restore-drill-20260711T230725Z.json` |
Operator commands:
```bash
make apps-pg-backup # encrypt + upload vergabe_db (+ sibling DBs)
make apps-pg-restore-drill # isolated restore + row-count gate
make cnpg-backup-status # barman ScheduledBackup posture (still degraded)
```
CNPG `ScheduledBackup` remains platform follow-up; Phase 1 logical dumps satisfy
the interim gate in `docs/app-data-backup-restore-handoff.md`. Before treating
data as fully production-critical beyond Phase 1, complete post-restore migration
smoke, HTTPS health check, and a representative workflow verification.
Break-glass manual dump (not the durable contract):
```bash
kubectl exec -n databases apps-pg-1 -- pg_dump -U postgres -Fc vergabe_db > vergabe_db-$(date +%F).dump
```
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
- Multi-replica HA (`replicaCount: 1`).