Skip to content

Add PDB and probe support to MCP Helm chart#105

Open
kkhristenko51 wants to merge 2 commits into
mainfrom
EVG-150_reliability
Open

Add PDB and probe support to MCP Helm chart#105
kkhristenko51 wants to merge 2 commits into
mainfrom
EVG-150_reliability

Conversation

@kkhristenko51
Copy link
Copy Markdown
Contributor

@kkhristenko51 kkhristenko51 commented Jun 4, 2026

Add PDB and startup/readiness/liveness probes support to MCP Helm chart

This PR extends the rosetta-mcp-server Helm chart to support configurable Kubernetes health probes on the Deployment and an optional PodDisruptionBudget (PDB), and bumps the chart version to reflect the new functionality.

Changes:

  • Add optional livenessProbe, readinessProbe, and startupProbe values and render them into the Deployment when configured.
  • Add an optional PodDisruptionBudget template controlled by podDisruptionBudget.* values (and gated by replica/minReplica count).
  • Bump chart version from 0.2.0 to 0.3.0.

Copy link
Copy Markdown

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 extends the rosetta-mcp-server Helm chart to support configurable Kubernetes health probes on the Deployment and an optional PodDisruptionBudget (PDB), and bumps the chart version to reflect the new functionality.

Changes:

  • Add optional livenessProbe, readinessProbe, and startupProbe values and render them into the Deployment when configured.
  • Add an optional PodDisruptionBudget template controlled by podDisruptionBudget.* values (and gated by replica/minReplica count).
  • Bump chart version from 0.2.0 to 0.3.0.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
helm-charts/rosetta-mcp-server/values.yaml Adds values for health probes and PDB configuration.
helm-charts/rosetta-mcp-server/templates/deployment.yaml Renders optional container probes from values.
helm-charts/rosetta-mcp-server/templates/poddisruptionbudget.yaml Adds a PDB resource template controlled by chart values.
helm-charts/rosetta-mcp-server/Chart.yaml Version bump to 0.3.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread helm-charts/rosetta-mcp-server/values.yaml
Comment thread helm-charts/rosetta-mcp-server/templates/poddisruptionbudget.yaml
Comment thread helm-charts/rosetta-mcp-server/values.yaml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Konstantin Khristenko <112936003+kkhristenko51@users.noreply.github.com>
@kkhristenko51 kkhristenko51 marked this pull request as ready for review June 4, 2026 07:47
@kkhristenko51 kkhristenko51 requested a review from omaiesh as a code owner June 4, 2026 07:47
@github-actions github-actions Bot added the enhancement New feature or request label Jun 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

Rosetta Triage Review

Summary: This PR extends the rosetta-mcp-server Helm chart to support configurable Kubernetes health probes (liveness, readiness, startup) and an optional PodDisruptionBudget (PDB), then bumps the chart version from 0.2.0 to 0.3.0.

Findings:

  • All three probe types (livenessProbe, readinessProbe, startupProbe) are rendered using idiomatic Helm {{- with }} blocks — clean and correct pattern for optional fields.
  • The PDB template correctly gates creation on podDisruptionBudget.enabled AND replica count > 1, with a {{- fail }} guard that prevents both minAvailable and maxUnavailable being set simultaneously — good defensive design.
  • Edge case to verify: If a user overrides both minAvailable and maxUnavailable to null/unset in their values override, the PDB spec would render with neither field, producing an invalid Kubernetes resource. The defaults in values.yaml protect against this (maxUnavailable: 1 is set), but it is worth noting for documentation or an explicit validation.
  • values.yaml provides helpful commented-out examples for all probe types and the PDB — good discoverability.
  • Version bump from 0.2.0 to 0.3.0 is appropriate for a minor feature addition.
  • No Helm unit tests (e.g., helm-unittest) are included for the new templates. Existing chart test coverage level is unknown, but adding tests for the new PDB template and probe injection would strengthen confidence.

Suggestions:

  • Consider adding a helm-unittest test case to verify the PDB renders when enabled: true and replicaCount: 2, and that it does NOT render when replicaCount: 1.
  • Consider documenting the edge case where neither minAvailable nor maxUnavailable is set (after user overrides) to make the behavior explicit in the values comments.

Automated triage by Rosetta agent

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants