Helm Chart Validator
Tool Overview
This tool checks a small set of Helm chart files in the browser. You add files one by one (for example values.yaml and template files). It parses values.yaml, substitutes simple template placeholders in templates, and checks that the rendered result is valid YAML. It reports missing values and YAML errors so you can fix them before deploying.
Helm charts mix YAML and template syntax. A typo in a value path or invalid YAML after rendering can break a deploy. Checking values and rendered output by hand is slow. This tool runs the checks as you edit and shows where each problem is. A related operation involves validating Kubernetes YAML as part of a similar workflow.
It is for developers and operators who work with Helm charts. You need basic knowledge of YAML and Helm templates. No account or sign-in is required. For adjacent tasks, validating Docker Compose files addresses a complementary step.
Background and How the Tool Works
Helm is a package manager for Kubernetes. A chart has a values file (often values.yaml) and template files that use those values. At install time, Helm fills placeholders like {{ .Values.image.tag }} with values and then applies the result to the cluster. If a value is missing or the rendered YAML is invalid, the install fails. When working with related formats, validating YAML syntax can be a useful part of the process.
This tool does not run the real Helm binary. It keeps a list of chart files in the browser. It parses values.yaml as YAML, then scans template files for simple placeholders: {{ .Values.something }}, {{ .Release.Name }}, {{ .Release.Namespace }}, {{ .Chart.Name }}. It replaces those with the value or a fixed string, then checks that the rendered text is valid YAML. It does not support full Helm template logic (if, range, with, include, define). It also does not validate Chart.yaml or Kubernetes resource definitions. In some workflows, validating Dockerfiles is a relevant follow-up operation.
People struggle when a template references a value that does not exist or when the rendered YAML has a syntax error. The tool points to the file and line of missing values and YAML errors so you can fix them quickly. For related processing needs, validating JSON syntax handles a complementary task.
Key Features
- File list: You build the chart from files in the tool. You add files by name (for example values.yaml, deployment.yaml). You can delete a file except when it is the last one. Each file has a type: values (values.yaml), metadata (names starting with an underscore), or template. The list is shown in a sidebar.
- Load sample: A button loads a sample chart with values.yaml, a deployment template, and a helpers template. Use it to see how validation and rendering work.
- Size limits: Each file is limited to 100KB. Total size of all files is limited to 500KB. You can have at most 50 files. Larger or more content produces an error and validation stops.
- Values parsing: The file named values.yaml is parsed as YAML. It must be a single object (mapping). If it is an array or a primitive, or if YAML parsing fails, the tool reports an error and the line when available.
- Missing values.yaml: If you have template files but no values.yaml, the tool adds a warning. Templates may reference undefined values.
- Placeholder substitution: In template files, the tool replaces {{ .Values.path.to.key }} with the value from values.yaml. If the path is missing, it reports an error and marks the placeholder as missing in the output. It also replaces {{ .Release.Name }}, {{ .Release.Namespace }}, and {{ .Chart.Name }} with fixed strings. Other template syntax (if, range, helpers, etc.) is not evaluated.
- Rendered YAML check: After substitution, the content of each template is parsed as YAML. If parsing fails, the tool reports a rendered-manifest error and the line. If the content is not empty but produces no YAML documents, it reports invalid YAML.
- Error list: Each error has a file name, line number, message, and severity (error or warning). The status area shows Valid or the number of issues. Files with errors can be marked in the sidebar.
- Source and Preview: You can switch between editing the current file (Source) and viewing the combined rendered manifest (Preview). In Preview you can copy the output to the clipboard.
- Download: When there are no errors and rendering produced output, you can download the rendered manifest as a single YAML file (manifest.yaml).
- Fix suggestions: A toggle turns on a panel that lists each error. For each error you can click Get Fix to send the error and chart files to a backend service. You may get a short explanation, a suggested action, and optional corrected code. This feature may be unavailable or fail; use the file and line information to fix errors when suggestions are not available.
Common Use Cases
You are writing or editing a Helm chart and want to check that values.yaml is valid and that templates reference existing keys. You paste or type values and one or two templates into the tool and see missing-value and YAML errors at once. You use the sample chart to learn how values and placeholders work. Before copying a manifest elsewhere, you use Preview to see the rendered YAML and Download to save it when valid. When an error is unclear, you use Get Fix to get a short explanation and suggestion if the service is available.
How to Use This Tool
- Open the tool. You see a file list on the left and a main area. If no files are loaded, click Load Sample Chart to load the sample files, or add a file with the add button.
- To add a file, click the add button and enter a name (for example values.yaml or deployment.yaml). The tool creates an empty or default content based on the name. values.yaml gets type values; names starting with an underscore get type metadata; others get type template.
- Select a file in the list to edit it. In Source view, edit the content. Each file is limited to 100KB. Total size of all files must stay under 500KB and you can have at most 50 files.
- Validation and rendering run automatically. Check the status under the file list: Valid or the number of issues. If there are errors, open the Fix Suggestions panel (toggle) to see file, line, and message for each.
- Fix errors in the right file. Typical errors: values.yaml must be an object; YAML syntax error in values or in rendered output; missing value (a path in {{ .Values. }} not found in values.yaml); unresolved template value; rendered content not valid YAML.
- Switch to Preview to see the combined rendered manifest. Copy it if needed. When status is Valid and there is output, use Download to save manifest.yaml.
- Optional: for an error, click Get Fix in the Fix Suggestions panel. Wait for the explanation and suggestion. If corrected code is shown, you can apply it manually in the editor. If the request fails, fix the error using the file and line information.
- To remove a file, use the delete control next to it in the list. You cannot delete the last remaining file.
What Is Checked and What Is Not
The tool parses values.yaml as YAML and checks that it is an object. It substitutes only simple placeholders in template files: {{ .Values.path.to.key }}, {{ .Release.Name }}, {{ .Release.Namespace }}, {{ .Chart.Name }}. It then checks that the rendered content of each template is valid YAML. It does not parse or validate Chart.yaml. It does not validate Kubernetes resource definitions (for example apiVersion or kind). It does not run full Helm template logic (if, range, with, include, define). For full chart validation and Kubernetes checks, use the Helm CLI and Kubernetes tools.
Reference: Limits and Supported Syntax
| Item | Limit or behavior |
|---|---|
| Size per file | 100KB |
| Total size (all files) | 500KB |
| Number of files | 50 |
| values.yaml | Must be valid YAML and a single object (mapping) |
| Placeholders substituted | {{ .Values.anything }}, {{ .Release.Name }}, {{ .Release.Namespace }}, {{ .Chart.Name }} |
| Other template syntax | Not evaluated (e.g. if, range, include left as-is in output) |
| Chart.yaml | Not validated |
| Kubernetes resources | Not validated; only YAML well-formedness of rendered output |
Tips, Limitations and Best Practices
Keep each file under 100KB and total under 500KB. Use the sample chart to see a valid values.yaml and templates that reference it. Name your values file values.yaml so the tool parses it as values. For template placeholders, use only .Values, .Release.Name, .Release.Namespace, and .Chart.Name if you want the tool to substitute them; other syntax will appear in the rendered output unchanged and may cause invalid YAML.
The tool does not upload a chart directory or zip. You add and edit files inside the tool. It does not run Helm or Kubernetes. For production charts, run helm lint and helm template locally and validate manifests with Kubernetes tools.
Get Fix sends the error and your chart files to a backend service. Do not use it with sensitive or secret content. If the service fails, use the error message and line number to fix the problem by hand.