config-hosteurope names port 16443, but the k3s-api-railiance01 ops-bridge tunnel listens on 16444, so every default target failed with connection refused. Switch Makefile, tools and docs to ~/.kube/config-railiance01 and fix the restore recipe to rewrite the API address to the tunnel port. The node-side hostPath in STATE.md is unrelated and unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 1031639@bnt-lap001 Assistant-Session: e5073fee-f4ae-4fc3-a75a-6c1fc83e0576
2 KiB
2 KiB
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-railiance01 |
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-*vsr01-*). - 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.