railiance-apps/docs/cnpg-backup-topology-inventory.md

44 lines
2 KiB
Markdown
Raw Normal View History

# CNPG backup topology inventory
**Workplan:** RAILIANCE-WP-0016-T01
**Recorded:** 2026-07-22
**Method:** live `kubectl get cluster` + `psql` datname listing on both hosts.
## Hosts
| Host | Kubeconfig (operator workstation) | API |
| --- | --- | --- |
| CoulombCore | `~/.kube/config` | tunnel `k3s-api-coulombcore` |
| railiance01 | `~/.kube/config-hosteurope` | local / hosteurope |
## Production-of-record (POR) decisions
| Target id | Host | Cluster | Databases | POR? | Consumer / notes |
| --- | --- | --- | --- | --- | --- |
| `core-apps-pg` | CoulombCore | `apps-pg` | `apps_meta`, `core_hub`, `core_hub_staging`, `vergabe_db` | **Yes** | S5 apps (vergabe, core-hub) — only instance |
| `core-gitea-db` | CoulombCore | `gitea-db` | `gitea` | **Yes** | Legacy Gitea; still live |
| `r01-forgejo-db` | railiance01 | `forgejo-db` | `forgejo` | **Yes** | Forgejo production — only instance |
| `core-net-kingdom-pg` | CoulombCore | `net-kingdom-pg` | `interhub`, `privacyidea_db` | **Yes (dual)** | Backup both until app DSN audit confirms single host |
| `r01-net-kingdom-pg` | railiance01 | `net-kingdom-pg` | `interhub`, `privacyidea_db`, `probe` | **Yes (dual)** | Extra `probe` DB on R01 only |
| `core-state-hub-db` | CoulombCore | `state-hub-db` | `state_hub` | **Yes (dual)** | Hub may run against either instance historically |
| `r01-state-hub-db` | railiance01 | `state-hub-db` | `state_hub` | **Yes (dual)** | activity-core / local hub proximity |
### Dual-host policy
Until a consumer DSN audit proves a single POR for Net Kingdom and State Hub:
- **Backup both** Core and R01 instances (different Nextcloud prefixes:
`core-*` vs `r01-*`).
- Restore drills must name the **host** + cluster, not only the DB name.
## Out of backup scope (this workplan)
- CNPG system DB `postgres`
- Temporary drill DBs
- App media PVCs (vergage media disabled)
## Runner mapping
Implemented in `railiance-platform/tools/cmd/cnpg-option-a-backup` default target
list. Override with `CNPG_BACKUP_TARGETS=core-apps-pg,r01-forgejo-db`.