Skip to main content

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 WorkloadAccessor abstraction across the Deployment and StatefulSet controllers
  • ManagedStatefulSets metric
  • 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/finalizers and statefulsets/finalizers RBAC so blockOwnerDeletion works 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 deploy config
  • 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 minAvailable to whole groups; skip single-group sets with a Warning event
  • Skip LWS-internal StatefulSets so no pod matches two PDBs
  • pdb_operator_leaderworkersets_managed metric
  • 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_managed and pdb_operator_leaderworkersets_managed drop 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 the GenericWorkload gate)
  • disruptionMode: all gangs quantized to whole pod groups; single gangs floored at minCount
  • 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_managed metric
  • 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 EvictionRequest responder (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.