Skip to content

Add a data-preserving PostgreSQL standby replacement gate #4674

Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Problem

Database maintenance needs a controlled way to replace one failed standby without discarding its existing storage or affecting the primary and other healthy instances. A pod restart alone cannot repair an unusable recovery checkpoint.

Intended outcome

Provide a narrowly scoped, protected recovery path that retains the old standby volumes for investigation and lets the operator create a replacement from the primary. Refuse unknown identities, a primary target, another concurrent maintenance operation, missing backup evidence, and incomplete reads. Keep disruption budgets, normal deployment verification, and the retained data unchanged.

Acceptance

  • Regression tests prove all refusals before any write, including stale target identities and a changing primary.
  • Old PVCs and their volume bindings survive the replacement; no PVC or PV deletion is authored.
  • The replacement becomes healthy before normal maintenance resumes.
  • Execution requires the maintainer's scoped recovery approval; preparing the repair is not permission to run it.

Activity

  1. self-assigned this
    on Oct 8, 2026
  2. added 2 commits that reference this issue on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions