[FEATURE] kmcp Helm chart's own controller resources have no commonLabels/extraLabels hook

Open Beginner friendly
#141 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
helm, kubernetes

Research direction

Start in templates/_helpers.tpl at kmcp.labels and inspect the chart values used by the install-time resource templates. Add the values.commonLabels hook described in the issue, then run helm template with the default values and with custom labels. Done means custom labels appear on the controller resources while default output remains byte-identical to main.

Written by the indexing model from the issue text.

Description

The kmcp Helm chart's own installed resources (controller Deployment, ServiceAccount, ClusterRoles/ClusterRoleBindings, Service) have no values-driven hook to add extra labels — templates/_helpers.tpl's kmcp.labels only emits the fixed helm.sh/chart/app.kubernetes.io/* set, and no other values field feeds into it.

This is distinct from #88 and #93, which are about labels/annotations on the resources a deployed MCPServer custom resource generates at runtime — this issue is about the chart's own static install-time resources (what helm install kmcp ... creates for the controller itself).

Concretely: any cluster with an admission policy that requires specific labels on all namespaced/cluster resources (e.g. OPA Gatekeeper's gatekeeper-required-labels constraint enforcing app.company.com/owner, app.company.com/team, etc.) will reject every resource this chart creates, with no way to satisfy the policy short of a Helm post-renderer or a chart fork.

I ran into this trying to install kmcp alongside kagent in a cluster with such a policy.

I've opened a PR adding a values.commonLabels map merged into kmcp.labels (same shape as alayalibchart's label helper we use internally) — verified helm template output is byte-identical to main when commonLabels is left at its default {}.

Dominant language
Go
Stars
472
Forks
68
Avg merge
3d 5h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from kagent-dev/kmcp

All issues in kagent-dev/kmcp

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.