cloudnative-pg / cloudnative-pg/charts

feat(cloudnative-pg): add operator PodDisruptionBudget support

Open
#1,003 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.