Skip to content

Add support for configurable NodePort router service and safe local overrides in Helm chart #763

@alikhabazian

Description

@alikhabazian

Describe the feature

When trying to customize the routerSpec to use a NodePort service and set a fixed nodePort, I ran into several issues:

  1. The chart does not support defining a nodePort value in values.yaml.
    As a result, every helm upgrade recreates the router service and assigns
    a new (random) NodePort—even when no configuration has changed.

  2. Setting routerSpec.serviceType to NodePort forces Kubernetes to replace
    the existing service with a new one of type ClusterIP during upgrades.

Why do you need this feature?

I resolved these issues locally by extending the Helm chart to support a
routerSpec.nodePorts field and adding safe conditional checks in the service
template. This allows the router service to:

  • Keep a stable NodePort across upgrades
  • Avoid being replaced or recreated unnecessarily
  • Allow users to define custom NodePort values cleanly from values.yaml

I would like to submit a pull request adding this improved NodePort support to
the upstream chart.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions