Skip to content

Invalid YAML separator in ingress.yaml when using customer_ingress only (helmlint lint) #35

@imorato

Description

@imorato

Hello :)
I encountered a YAML syntax error when running helmfile lint against version 0.9.3 of the chart

The issue specifically occurs when customer_ingress.enabled is set to true. While helm template generates valid output, the linting process fails due to static analysis of the template structure around the document separator.

The Error:

Linting release=ms-mt--sombra, chart=transcend/sombra
[ERROR] templates/ingress.yaml: unable to parse YAML: invalid Yaml document separator: apiVersion: networking.k8s.io/v1

Root Cause:
In templates/ingress.yaml, line 44, the {{- if ... block stripping behavior aggressively removes the newline character that immediately follows the --- document separator.

Current code:

{{- end }}
---
{{- if .Values.customer_ingress.enabled -}}

This renders effectively as:

---apiVersion: networking.k8s.io/v1

Which triggers the "invalid Yaml document separator" error.

Proposed Fix: Remove the leading hyphen (-) from the if statement to preserve the required newline.

{{- end }}
---
{{ if .Values.customer_ingress.enabled -}}  <-- Changed {{- to {{

This ensures the rendered output respects the separator:

---
apiVersion: networking.k8s.io/v1

I have applied this fix locally to the chart, and confirmed that helmfile lint passes successfully.

Thanks :)

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