Roadmap
Planned development for PDB Operator. Priorities may shift based on community feedback and contributions.
The current release is v0.5.0. Everything below it is shipped; v0.6.0 onward is planned.
v0.1.0 - Initial Release ✅
- PDBPolicy CRD with availability classes and enforcement modes
- Controller architecture (PDBPolicy + Deployment controllers)
- Workload selector (labels, names, functions, namespaces)
- Maintenance window support
- Validating and mutating webhooks
- Prometheus metrics and OpenTelemetry tracing
- Grafana dashboards and alerting rules
- HA deployment with leader election
- CI/CD pipelines
- Helm chart (helm-pdb-operator)
- Published container images (GHCR)
- Install manifests (
dist/install.yaml)
v0.1.1 - Dependency Updates and CI Fixes ✅
- Bump controller-runtime to v0.23.3 (bug fixes)
- Bump OpenTelemetry packages to v1.42.0
- Fix unsupported semver cooldown keys for github-actions ecosystem
- Resolve zizmor workflow security findings
- Restrict CI workflows to main branch pushes
v0.2.0 - StatefulSet Support ✅
- Extend PDB management to StatefulSets
- Shared
WorkloadAccessorabstraction across the Deployment and StatefulSet controllers -
ManagedStatefulSetsmetric - Clean up the PDB when a StatefulSet scales below 2 replicas
v0.2.1 - Scale-Down Cleanup ✅
- Clean up the PDB when a Deployment scales below 2 replicas, instead of orphaning it and blocking drains
- e2e coverage for scale-down cleanup on both Deployments and StatefulSets
- De-flake the time-dependent maintenance-window tests
v0.2.2 - OpenShift RBAC ✅
- Grant
deployments/finalizersandstatefulsets/finalizersRBAC soblockOwnerDeletionworks on clusters that enforce ownerReference rules
v0.3.0 - Maintenance Windows & Correctness ✅
- Evaluate policy-level maintenance windows (
spec.maintenanceWindows), not only the workload annotation - Structured windows: timezone,
daysOfWeek, multiple windows, and overnight spans - Proactive requeue so a window relaxes its PDB on time
- Enable the webhook server in the default
make deployconfig - Fix OpenTelemetry tracing initialization (semconv schema mismatch)
- Injectable clock for deterministic maintenance-window tests
v0.4.0 - Multi-Host Inference ✅
- Group-aware PDBs for LeaderWorkerSet (
leaderworkerset.x-k8s.io/v1) - Quantize
minAvailableto whole groups; skip single-group sets with a Warning event - Skip LWS-internal StatefulSets so no pod matches two PDBs
-
pdb_operator_leaderworkersets_managedmetric - Go 1.26.6 security bump (six stdlib CVEs)
v0.4.1 - Managed-Workload Metrics ✅
- Recount all three workload kinds each tick, so
pdb_operator_statefulsets_managedandpdb_operator_leaderworkersets_manageddrop on deletion instead of sticking - Exclude LWS-internal StatefulSets from the counts
- Skip the LeaderWorkerSet list entirely when the CRD is absent
v0.5.0 - Gang Scheduling ✅
- Gang-aware PDBs from the upstream Workload API (
scheduling.k8s.io/v1beta1, KEP-4671, Kubernetes 1.37 with theGenericWorkloadgate) -
disruptionMode: allgangs quantized to whole pod groups;singlegangs floored atminCount - PDB selector derived from the labels shared by a group's pods and validated for exactness
- Distinct Warning event reasons per skip cause, plus a log line per skip
-
pdb_operator_workloads_managedmetric - e2e on kind 1.37: LeaderWorkerSet gang disruption and Workload API gang budgets
v0.6.0 - Advanced Workloads & Policy
- Multi-template and composite Workloads
- Gang-aware
EvictionRequestresponder (KEP-4563) - Per-workload-type PDB calculation strategies
- Namespace-scoped default policies
- Cluster-wide default policy
- Policy inheritance and composition
- Dry-run mode for policy evaluation without creating PDBs
- PDB drift detection and auto-remediation for manually modified PDBs
v0.7.0 - Observability and Operations
- Operator health dashboard (built-in status endpoint)
- Policy compliance reports
- Audit log integration (external audit sink)
- PDB change history tracking on resource annotations
- Register circuit breaker metrics so the shipped alert group can fire
Future Considerations
- Multi-cluster policy distribution
- Integration with cluster autoscaler for coordinated disruption management
- Custom availability class definitions via CRD
- Webhook-based PDB validation for non-managed PDBs
- OLM (Operator Lifecycle Manager) bundle and OperatorHub listing
Contributing
Feature requests and feedback are welcome. Open an issue or join the discussion to influence the roadmap.