Skip to content

Conversation

@frauniki
Copy link
Contributor

@frauniki frauniki commented Sep 1, 2025

Description

Change Type

/kind new_feature

Changelog

Add PodDisruptionBudget to kgateway helm chart

Additional Notes

Copilot AI review requested due to automatic review settings September 1, 2025 17:21

This comment was marked as outdated.

@github-actions github-actions bot added do-not-merge/kind-invalid Indicates a PR lacks a `kind/foo` label and requires one. release-note labels Sep 1, 2025
@frauniki frauniki force-pushed the add-pdb branch 2 times, most recently from 4638eb9 to d6a4694 Compare September 1, 2025 17:24
@frauniki frauniki requested a review from Copilot September 1, 2025 17:25

This comment was marked as outdated.

@github-actions github-actions bot added kind/feature Categorizes issue or PR as related to a new feature. and removed do-not-merge/kind-invalid Indicates a PR lacks a `kind/foo` label and requires one. labels Sep 1, 2025
@frauniki frauniki requested a review from Copilot September 1, 2025 17:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds PodDisruptionBudget (PDB) support to the kgateway Helm chart to provide high availability guarantees during cluster maintenance operations.

  • Add configurable PodDisruptionBudget resource with support for minAvailable, maxUnavailable, and unhealthyPodEvictionPolicy settings
  • Update image pullPolicy default from empty string to "IfNotPresent" for consistency
  • Include comprehensive JSON schema validation for PDB configuration

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
install/helm/kgateway/values.yaml Add podDisruptionBudget configuration section and fix pullPolicy default
install/helm/kgateway/values.schema.json Add complete JSON schema with PDB validation rules
install/helm/kgateway/templates/pdb.yaml Create PDB template with conditional rendering

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@@ -0,0 +1,16 @@
{{- if .Values.podDisruptionBudget }}
Copy link

Copilot AI Sep 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The condition checks if the podDisruptionBudget key exists, but it should check if it's non-empty. An empty object {} will evaluate to true, creating a PDB with no spec fields. Use {{- if and .Values.podDisruptionBudget (or .Values.podDisruptionBudget.minAvailable .Values.podDisruptionBudget.maxUnavailable) }} instead.

Suggested change
{{- if .Values.podDisruptionBudget }}
{{- if and .Values.podDisruptionBudget (or .Values.podDisruptionBudget.minAvailable .Values.podDisruptionBudget.maxUnavailable) }}

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

@frauniki frauniki Sep 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, that's incorrect.
In Helm's if expression, the empty object {} evaluates to false.

@frauniki
Copy link
Contributor Author

frauniki commented Sep 3, 2025

Hmm, it seems there was a temporary issue with quay.io.

@frauniki frauniki force-pushed the add-pdb branch 2 times, most recently from 1fa1f99 to a3ef116 Compare September 5, 2025 15:04
@timflannagan
Copy link
Member

@frauniki Thanks for taking a stab at this. I talked with a couple of maintainers offline, and we determined that PDB support needs more thought, discussion, etc as it has implications on the overall 2.x HA story, which is still being ironed out and actively worked on.

At a minimum, we need a tracking issue for this and likely a design doc. Can you create an issue? No worries if not, I'll queue one up sometime this week.

@timflannagan
Copy link
Member

Closing as a result of #12173 (comment). I'll create a tracker for the PDB work.

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

Labels

kind/feature Categorizes issue or PR as related to a new feature. release-note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improvements to the kgateway control plane Helm chart

2 participants