Skip to content

feat: add PodDisruptionBudget for vector aggregators with replicas > 1#229

Open
stigglor wants to merge 1 commit into
kaasops:mainfrom
stigglor:feat/aggregator-pdb
Open

feat: add PodDisruptionBudget for vector aggregators with replicas > 1#229
stigglor wants to merge 1 commit into
kaasops:mainfrom
stigglor:feat/aggregator-pdb

Conversation

@stigglor

Copy link
Copy Markdown

The operator now creates a PodDisruptionBudget for VectorAggregator and ClusterVectorAggregator deployments when spec.replicas is greater than 1. The budget keeps at most one pod unavailable during voluntary disruptions such as node drains. When an aggregator runs a single replica or is scaled back down, the operator removes any budget it previously created.

Both aggregator types share the same controller, so one reconcile step covers them. Operator RBAC gains permission to manage poddisruptionbudgets in the policy API group, applied in the kubebuilder markers, the generated role, and the helm clusterrole.

Closes #228

The operator now creates a PodDisruptionBudget for VectorAggregator and
ClusterVectorAggregator deployments when spec.replicas is greater than 1.
The budget keeps at most one pod unavailable during voluntary disruptions
such as node drains. When an aggregator runs a single replica or is scaled
back down, the operator removes any budget it previously created.

Both aggregator types share the same controller, so one reconcile step
covers them. Operator RBAC gains permission to manage poddisruptionbudgets
in the policy API group, applied in the kubebuilder markers, the generated
role, and the helm clusterrole.

Closes kaasops#228
@stigglor stigglor marked this pull request as ready for review June 25, 2026 06:09
@aa1ex

aa1ex commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Hi, and thanks for the contribution!

The HPA autoscaling work (#230) just merged, so this PR now conflicts with main and needs a rebase. Most of it is mechanical (shared RBAC and the aggregator controller wiring).

One real change beyond the textual conflicts: spec.replicas is now a *int32 (it was int32), so the replicas <= 1 check in pdb.go needs a small update for the pointer. One more thing worth handling: when autoscaling is on, the replica count is set by the HPA, not by spec.replicas, so that same check can skip the PDB for an aggregator that is actually running several replicas. Happy to help with that part if useful.

What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include PodDisruptionBudget for VectorAggregator and ClusterVectorAggregator

3 participants