Finish RPF-WP-0018; RPF-WP-0019 repository-complete
RPF-WP-0018 closed: all seven tasks done. The provider-declaration finding was adopted upstream and its canonical form is the provider: block in tenancy.yaml; adaptive-pricing declined the standing co-signature and supplied typed tier minima instead, recorded in ADR-0002. Three corrections against our own output are recorded in the documents rather than edited away. RPF-WP-0019 T03 done (ceiling of three, memory binding, apps-pg-2 named as overflow, enforced by make apps-pg-verify-capacity). T01/T02 are repository-complete: backup target, retention, per-consumer connection limits, role timeouts and Burstable resources are declared in source and published in s3-consumer-interfaces 1.1.0 before rollout. They stay in progress because no live application, backup success or restore proof exists, and declared configuration is not a section 13 artifact. T04 waits on that window. apps-pg R reason corrected to say the target is declared-not-applied rather than absent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e52ae26001
commit
dc4245361d
20 changed files with 650 additions and 73 deletions
|
|
@ -97,18 +97,30 @@ applied; coulomb-social connectivity smoke from labeled consumer ns OK.
|
|||
|
||||
## Backup And Roadmap
|
||||
|
||||
`apps-pg` starts as a conservative single-instance, 10Gi cluster to match
|
||||
the current node capacity and existing CNPG footprint. Adding a replica,
|
||||
PgBouncer/CNPG `Pooler`, resize policy, and CNPG-native backup coverage
|
||||
are follow-up platform work items.
|
||||
`apps-pg` remains a conservative single-instance, 10Gi cluster. The desired
|
||||
state now includes continuous WAL archival, a daily 02:15 UTC base backup and
|
||||
30-day retention under the distinct `apps-pg/` object-store prefix. The
|
||||
credential lane is shared with `platform-pg`; the backup data path is not.
|
||||
|
||||
Until backup coverage is explicitly added, consumer onboarding should
|
||||
record whether app data is disposable, externally reproducible, or
|
||||
requires an immediate backup follow-up before production use.
|
||||
The declared ceiling is three consumers. Each gets at most 20 connections;
|
||||
40 of the explicit 100-connection aggregate remains for CNPG and operator
|
||||
headroom. Memory (1Gi limit), not the clean connection refusal, is treated as
|
||||
the binding safety constraint. A fourth consumer goes to the named
|
||||
`apps-pg-2` overflow substrate, which must be provisioned before onboarding.
|
||||
Reviewed, unapplied source for that cell is
|
||||
`helm/apps-pg-2-{cluster,backup,networkpolicies}.yaml`; it uses a distinct
|
||||
bootstrap Secret and backup prefix. `make apps-pg-verify-capacity` rejects a
|
||||
fourth role on either cell, missing connection limits, duplicate roles, missing
|
||||
resource envelopes, or a reused backup path.
|
||||
|
||||
`statement_timeout` and `idle_in_transaction_session_timeout` are 15 seconds
|
||||
per consumer role. CNPG 1.28 cannot express those role settings, so
|
||||
`helm/apps-pg-consumer-controls.sql` is the idempotent controlled-operator
|
||||
step; `connectionLimit` remains declaratively reconciled by CNPG.
|
||||
|
||||
Resource evidence for `resource:railiance:apps-pg` (capacity, recovery,
|
||||
labor, allocation drivers) is published under
|
||||
`docs/evidence/RAILIANCE-WP-0016-apps-pg-resource-evidence.md`. The
|
||||
2026-08-14 observation: no ScheduledBackup, railiance01 `apps-pg` is
|
||||
not an Option A target, RPO is unbounded, RTO is undefined. That is
|
||||
unresolved local-storage risk, not verified recovery.
|
||||
2026-08-14 observation remains historically correct. The 2026-08-18 desired
|
||||
state is not called verified recovery until the first backup succeeds and a
|
||||
scratch restore artifact is recorded.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue