railiance-platform/docs/evidence/core-hub-postgres-capacity-preflight-2026-08-20.md
codex ac69f90300
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
feat: prepare core hub platform onboarding
2026-08-20 11:18:30 +02:00

58 lines
2 KiB
Markdown

# Core Hub PostgreSQL capacity preflight — 2026-08-20
Workplan: `RPF-WP-0021-T02`
Target: railiance01 `databases/platform-pg`
Mode: live, read-only, non-secret
## Purpose
Record the current `platform-pg` resource posture before reviewing Core Hub as
the fourth declaration on the cell. This is an admission preflight, not the
controlled multi-consumer measurement required by `rapp-postgres` ADR-0004.
## Observed baseline
Collected through `ssh railiance01` using `kubectl top`, pod resource metadata,
and read-only `pg_stat_activity` / database-size queries.
| Signal | Observation |
| --- | --- |
| PostgreSQL pod CPU | 9m |
| PostgreSQL pod memory | 362Mi |
| CPU request / limit | 100m / 1 core |
| Memory request / limit | 256Mi / 1Gi |
| `max_connections` | 100 |
| `shared_buffers` | 128MB |
| `work_mem` | 4MB |
| `maintenance_work_mem` | 64MB |
Connection snapshot:
| Database | Total | Active | Idle |
| --- | ---: | ---: | ---: |
| `audit_core` | 1 | 0 | 1 |
| `postgres` | 2 | 1 | 1 |
| no database | 6 | 0 | 0 |
Database sizes were approximately 8MiB each for `audit_core`,
`isolation_probe`, `platform_meta`, `postgres`, and `template1`.
## Interpretation
- The pod was using about 35% of its 1Gi memory limit during this quiet
snapshot. That is useful headroom evidence and not a peak or per-backend
measurement.
- `tenant_engine` was not present in the database list, so this sample does
not exercise the declared second workload consumer.
- Core Hub would reach the four-declaration ceiling after `audit-core`,
`tenant-engine`, and the counted isolation probe. It does not exceed the
ceiling if the stale, untracked Issue Core draft is removed as required by
`ISSUE-WP-0007`.
- This snapshot does **not** close ADR-0004 section 5. Admission still needs a
coordinated measurement with the declared consumers active, including
connection/backend memory under representative load and a recorded peak.
No PostgreSQL credential, query payload, tenant identifier, or secret value
was read or recorded.