Skip to content

[Feature Request]: Adding extra values to values.yaml #1473

@naomida1

Description

@naomida1

🧭 Type of Feature

  • Enhancement to existing functionality
  • New feature or capability
  • New MCP-compliant server
  • New component or integration
  • Developer tooling or test improvement
  • Packaging, automation and deployment (ex: pypi, docker, quay.io, kubernetes, terraform)
  • Other

🧭 Epic

Title: Support additional Kubernetes configuration fields through values.yaml
Goal: Provide users the ability to configure extraVolumes, extraVolumeMounts, nodeSelector, and affinity directly through the values.yaml file without modifying Helm chart templates.
Why now: When deploying the application using Helm and ArgoCD, we encountered several configuration options that currently require editing the chart templates. Allowing these to be set in values.yaml increases flexibility, aligns the chart with common practices, and simplifies ongoing maintenance.


🙋♂️ User Story 1

As a: Platform engineer deploying the application via Helm
I want: To define extraVolumes and extraVolumeMounts through values.yaml
So that: I can easily add PVCs or ConfigMaps without modifying the Helm chart templates

✅ Acceptance Criteria

Scenario: Adding extra volumes through values.yaml
  Given a Helm deployment with custom extraVolumes defined in values.yaml
  When the chart is rendered
  Then the generated Deployment includes the additional volumes

Scenario: Adding extra volume mounts through values.yaml
  Given custom extraVolumeMounts defined in values.yaml
  When the pods are deployed
  Then containers include the additional volumeMount entries

🙋♂️ User Story 2

As a: Kubernetes operator controlling workload placement
I want: To configure nodeSelector and affinity through values.yaml
So that: I can manage pod scheduling behavior without modifying the chart templates

✅ Acceptance Criteria

Scenario: Applying nodeSelector via values.yaml
  Given a values.yaml file with nodeSelector defined
  When the Helm chart is rendered
  Then the Deployment spec includes the provided nodeSelector

Scenario: Applying affinity rules via values.yaml
  Given affinity rules are defined in values.yaml
  When the application is deployed
  Then the resulting workload includes the specified affinity configuration

📐 Design Sketch (optional)

flowchart TD
    A[values.yaml] --> B[Helm Rendering]
    B --> C[Deployment with Extended Config]
    C --> D[ArgoCD Sync and Apply]
Loading

🔗 MCP Standards Check

  • Change adheres to current MCP specifications
  • No breaking changes to existing MCP-compliant integrations
  • Deviations (if any):

🔄 Alternatives Considered

  • Maintaining a forked Helm chart
  • Using ArgoCD patches or Kustomize overlays
  • Directly modifying chart templates (not desirable for maintainability)

📓 Additional Context

We are deploying the application with Helm and ArgoCD and noticed several configuration options we would like to add through values.yaml without modifying the chart templates.
The specific ones are:

  1. extraVolumes and extraVolumeMounts for adding PVCs and ConfigMaps
  2. nodeSelector and affinity for finer pod scheduling control

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesttriageIssues / Features awaiting triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions