# vergabe_demo_company restore proof — 2026-09-25 Founder request: rehearse recovery of the invited-company database without touching the live database. Authority for the app restart: `ADMINISTER @ realm:kubernetes/railiance01`, `activation=APPROVED`. ## PostgreSQL | Item | Value | |---|---| | Cluster | `databases/apps-pg`, primary `apps-pg-1` | | Source | `vergabe_demo_company` | | Artifact | `apps-pg-vergabe_demo_company-20260925T000349Z.dump.age` (160K plain dump, age-encrypted) | | Upload | not run; the OpenBao offsite lane was not logged in | | Scratch database | `vergabe_demo_restore_20260925`, created and dropped | | Restore time | 2 seconds | | Tables | 39 live, 39 restored | | Rows | 212 live, 212 restored | | Checksum of `schema.table:count` | `32ead8ffca3b2f917c7d163bb6948b243b2106690ad39612b68408f5601a6048` | | Gate | pass | | Left in place | `vergabe_demo_company` and historical `vergabe_db` | No row contents were written into this record. The drill used `tools/apps-pg-backup-dry-run.sh` at railiance-apps `03105b5` and `pg_restore` into the scratch database. Backup owner remains `railiance-platform`; the documented cadence is the daily 02:30 UTC Option A logical dump. This artifact is a manual workstation copy, not that upload. ## Files `/app/media` and `/app/.issue-facade` are mounted from the local-path claims `vergabe-teilnahme-media` (5Gi) and `vergabe-teilnahme-app-state` (1Gi). Both contained zero files. An in-pod copy of those trees matched the empty checksum `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855`, and the scratch copy was removed. These claims are not an off-host backup and do not survive loss of the node. ## App restart `vergabe-teilnahme` was recreated at 00:04:38 UTC and Ready at 00:04:57 UTC. `https://vergabe-teilnahme.coulomb.social/demo-company/health/` returned 503 during the recreate and then 200 five times. Login, a second user, and a document workflow were not part of this rehearsal.