Please select the area the issue is related to
Area/Gateway (Routing, API deployment in gateway etc.), Area/AIGateway (AI Gateway runtime/control plane)
Please select the aspect the issue is related to
Aspect/API (API backends, definitions, contracts, interfaces, OpenAPI), Aspect/Configuration (Config files, settings, env vars, defaults)
Description
Problem
Setting any non-empty list on gateway.controller.deployment.extraVolumeMounts
or gateway.controller.deployment.extraVolumes fails the Helm render with:
YAML parse error on gateway/templates/gateway/controller/deployment.yaml:
error converting YAML to JSON: yaml: line 99: did not find expected node content
The same fields on gateway.gatewayRuntime.deployment work fine.
Reproduces on chart 1.1.0 and on main (1.1.1).
Expectation
controller.deployment.extraVolumeMounts and extraVolumes should accept the
standard Kubernetes volume / volumeMount list (same shape as the runtime ones)
and mount them on the controller pod.
Likely location
kubernetes/helm/gateway-helm-chart/templates/gateway/controller/deployment.yaml,
the two range blocks for extraVolumeMounts and extraVolumes — the
gateway-runtime template uses a different (working) pattern for the same fields.
Steps to Reproduce
1. Pull the chart
helm pull oci://ghcr.io/wso2/api-platform/helm-charts/gateway --version 1.1.0 --untar
2. Create a values file that sets extraVolumeMounts / extraVolumes on the controller deployment.
repro-values.yaml
gateway:
developmentMode: true
controller:
deployment:
extraVolumeMounts:
- name: extra-test
mountPath: /etc/secrets/extra-test
readOnly: true
extraVolumes:
- name: extra-test
secret:
secretName: gateway-extra-test
3. Render the chart
helm template test ./gateway -f repro-values.yaml
Expected: chart renders, producing a controller Deployment with the
secret volume and mount.
Actual:
Error: YAML parse error on gateway/templates/gateway/controller/deployment.yaml:
error converting YAML to JSON: yaml: line 97: did not find expected node content
helm template test ./gateway -f repro-values.yaml --debug shows the malformed fragment around that line — a
lone - followed by the item's keys on the next line at the same indent:
- name: listener-certs
mountPath: /app/listener-certs
readOnly: true
-
mountPath: /etc/secrets/extra-test
name: extra-test
readOnly: true
Removing the extraVolumeMounts / extraVolumes entries from values makes the
chart render successfully. Setting the same values under
gateway.gatewayRuntime.deployment instead also renders successfully — only
the controller path is affected.
Severity Level of the Issue
Severity/Major (Important functionality is broken. Should be prioritized. Doesn't need immediate attention)
Environment Details (with versions)
No response
Please select the area the issue is related to
Area/Gateway (Routing, API deployment in gateway etc.), Area/AIGateway (AI Gateway runtime/control plane)
Please select the aspect the issue is related to
Aspect/API (API backends, definitions, contracts, interfaces, OpenAPI), Aspect/Configuration (Config files, settings, env vars, defaults)
Description
Problem
Setting any non-empty list on
gateway.controller.deployment.extraVolumeMountsor
gateway.controller.deployment.extraVolumesfails the Helm render with:The same fields on
gateway.gatewayRuntime.deploymentwork fine.Reproduces on chart
1.1.0and onmain(1.1.1).Expectation
controller.deployment.extraVolumeMountsandextraVolumesshould accept thestandard Kubernetes volume / volumeMount list (same shape as the runtime ones)
and mount them on the controller pod.
Likely location
kubernetes/helm/gateway-helm-chart/templates/gateway/controller/deployment.yaml,the two
rangeblocks forextraVolumeMountsandextraVolumes— thegateway-runtime template uses a different (working) pattern for the same fields.
Steps to Reproduce
1. Pull the chart
2. Create a values file that sets extraVolumeMounts / extraVolumes on the controller deployment.
repro-values.yaml
3. Render the chart
Expected: chart renders, producing a controller Deployment with the
secret volume and mount.
Actual:
Error: YAML parse error on gateway/templates/gateway/controller/deployment.yaml:
error converting YAML to JSON: yaml: line 97: did not find expected node content
helm template test ./gateway -f repro-values.yaml --debugshows the malformed fragment around that line — alone - followed by the item's keys on the next line at the same indent:
Removing the extraVolumeMounts / extraVolumes entries from values makes the
chart render successfully. Setting the same values under
gateway.gatewayRuntime.deployment instead also renders successfully — only
the controller path is affected.
Severity Level of the Issue
Severity/Major (Important functionality is broken. Should be prioritized. Doesn't need immediate attention)
Environment Details (with versions)
No response