cloudnative-pg / cloudnative-pg/charts
feat(cloudnative-pg): add operator PodDisruptionBudget support
- Dominant language
- Go Template
- Stars
- 621
- Forks
- 265
- Avg merge
- 7d 12h
- Merged PRs (30d)
- 7
Description
## Problem
The `cloudnative-pg` chart does not currently create a PodDisruptionBudget for the operator Deployment. This leaves operator replicas unprotected during voluntary disruptions such as node drains.
This is separate from PodDisruptionBudgets for PostgreSQL clusters, which CloudNativePG manages through the Cluster spec.
## Proposed approach
Add an opt-in `policy/v1` PodDisruptionBudget for the operator Deployment with:
- support for either `minAvailable` or `maxUnavailable` as a count or percentage, including zero
- support for `unhealthyPodEvictionPolicy`
- preservation of the chart namespace, standard labels, and common annotations
- disabled-by-default behavior for backward compatibility
With the feature enabled, a default of `minAvailable: 1` would protect the default single-replica operator. Deployments with additional replicas could tune the availability setting as appropriate.
Would maintainers agree with this scope and approach?
## Prior and current work
- Previous implementation attempt: #639
- Current implementation for review: #998
Contributor guide
Research direction
Read the proposed scope here alongside the previous attempt, #639, and the current implementation for review, #998. Since the implementation is already under review, check its status and the discussion before considering any work; this issue is complete when maintainers have agreed on the scope and the requested operator PodDisruptionBudget behavior is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100