Skip to content

Control Ingress Helm template references missing values.control.servicePort #924

@abhi15behera

Description

@abhi15behera

Issue Description

The Control Ingress Helm template references {{ .Values.control.servicePort }}, but this value is not defined at the expected location in values.yaml.

In the template, the service port is assigned as:

helm: 

{{- $svcPort := .Values.control.servicePort -}}

However, in values.yaml, servicePort is defined under control.service.servicePort instead of control.servicePort, as shown below:

values.yaml 

control:
  enabled: true
  service:
    annotations: {}
    type: ClusterIP
    externalIPs: []
    ip: "127.0.0.1"
    port: 9090
    servicePort: 9090

Actual Behavior
• Helm fails to render the Control Ingress template because .Values.control.servicePort is not defined.

Error: UPGRADE FAILED: failed to create resource: Ingress.networking.k8s.io "apisix-control" is invalid: spec.rules[0].http.paths[0].backend: Required value: port name or number is required

Expected Behavior

One of the following should be implemented for consistency:
Option 1: Add servicePort under control.servicePort in values.yaml, or
Option 2: Update the Control Ingress template to reference

helm:

.Values.control.service.servicePort

Impact

This mismatch between values.yaml and the Control Ingress template causes Helm rendering failures and prevents successful execution of control ingress template unless users manually modify values or templates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions