Skip to content

feat(helm): add deploymentAnnotations support to MCP server templates#2011

Open
pandacooming wants to merge 1 commit into
HolmesGPT:masterfrom
pandacooming:feat/helm-add-deployment-annotations
Open

feat(helm): add deploymentAnnotations support to MCP server templates#2011
pandacooming wants to merge 1 commit into
HolmesGPT:masterfrom
pandacooming:feat/helm-add-deployment-annotations

Conversation

@pandacooming
Copy link
Copy Markdown

@pandacooming pandacooming commented May 7, 2026

Summary

Add custom annotations support to Deployment metadata for GitHub, Azure, Confluence, and Kubernetes Remediation MCP server templates.

Problem

The MCP server Deployment templates do not support custom annotations on the Deployment metadata. This prevents adding annotations like reloader.stakater.com/auto: "true" needed to trigger automatic pod rolling restarts when referenced Secrets are updated by ESO (External Secrets Operator).

Changes

  • 4 MCP server templates (github, azure, confluence-mcp, kubernetes-remediation): added deploymentAnnotations block to Deployment metadata
  • values.yaml: added deploymentAnnotations: {} default to each server's config section

Verification

  • ✅ Render verified with annotations set → annotations appear correctly
  • ✅ Render verified with annotations unset → no annotations in output (no-op)
  • ✅ All 4 templates tested individually

Closes #1995

Summary by CodeRabbit

  • New Features
    • Added support for custom deployment-level annotations across multiple MCP servers. Azure MCP, Confluence MCP, GitHub MCP, and Kubernetes Remediation MCP deployments can now be configured with custom annotations through Helm values, enabling enhanced deployment customization, improved metadata management, and flexible Kubernetes resource configuration.

Add custom annotations support to Deployment metadata for GitHub, Azure,
Confluence, and Kubernetes Remediation MCP server templates. This enables
users to add annotations like reloader.stakater.com/auto: 'true' for
automatic pod restarts when referenced Secrets are updated.

No-op when deploymentAnnotations is not set - existing deployments unaffected.

Closes HolmesGPT#1995
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented May 7, 2026

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: pandacooming / name: pandacooming (1174be2)

@netlify
Copy link
Copy Markdown

netlify Bot commented May 7, 2026

Deploy Preview for holmes-docs failed. Why did it fail? →

Name Link
🔨 Latest commit 1174be2
🔍 Latest deploy log https://app.netlify.com/projects/holmes-docs/deploys/69fc5821f8c8320008b1012f

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3cea3e47-b816-4d4d-b4c8-ff460734ca44

📥 Commits

Reviewing files that changed from the base of the PR and between d1b8e25 and 1174be2.

📒 Files selected for processing (5)
  • helm/holmes/templates/mcp-servers/azure/deployment.yaml
  • helm/holmes/templates/mcp-servers/confluence-mcp/deployment.yaml
  • helm/holmes/templates/mcp-servers/github/deployment.yaml
  • helm/holmes/templates/mcp-servers/kubernetes-remediation/deployment.yaml
  • helm/holmes/values.yaml

Walkthrough

Adds deploymentAnnotations support to Helm values and four MCP server Deployment templates (Azure, GitHub, Kubernetes Remediation, Confluence), enabling users to conditionally inject custom annotations into pod template metadata. Each deployment template gains 4 lines to render annotations via toYaml, and values schema adds deploymentAnnotations: {} defaults.

Changes

MCP Server Deployment Annotations

Layer / File(s) Summary
Values Schema
helm/holmes/values.yaml
New deploymentAnnotations: {} added under mcpAddons.azure, mcpAddons.github, mcpAddons.kubernetesRemediation, and mcpAddons.confluenceMcp configuration blocks.
Deployment Templates
helm/holmes/templates/mcp-servers/azure/deployment.yaml, helm/holmes/templates/mcp-servers/github/deployment.yaml, helm/holmes/templates/mcp-servers/kubernetes-remediation/deployment.yaml, helm/holmes/templates/mcp-servers/confluence-mcp/deployment.yaml
Each Deployment template conditionally renders spec.template.metadata.annotations from its respective Values.mcpAddons[server].deploymentAnnotations when provided.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • HolmesGPT/holmesgpt#1995: Feature request that directly motivated this PR by describing the need for deploymentAnnotations support in MCP server templates to enable integration with External Secrets Operator and pod restart watchers.
  • HolmesGPT/holmesgpt#1356: Introduced the GitHub MCP Deployment template that is extended by this PR's annotation support changes.
  • HolmesGPT/holmesgpt#1318: Introduced the Azure MCP Deployment template that is extended by this PR's annotation support changes.

Suggested reviewers

  • arikalon1
  • RoiGlinik
  • Avi-Robusta
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding deploymentAnnotations support to MCP server templates, which is the core feature across all modified files.
Linked Issues check ✅ Passed The PR fully implements the requirements from issue #1995: adds deploymentAnnotations support to GitHub, Azure, Confluence, and Kubernetes Remediation MCP server templates with conditional rendering and values.yaml configuration.
Out of Scope Changes check ✅ Passed All changes are directly related to the linked issue objective. The PR consistently adds deploymentAnnotations support across four MCP server templates and their values without introducing unrelated modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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.

feat(helm): Add deploymentAnnotations support to GitHub MCP server template

1 participant