Helm Schema Validator
A VS Code extension that validates your Helm values.yaml files against the JSON schema from a selected Helm chart. Shows inline diagnostics (squiggles) and errors in the Problems panel with accurate line/column ranges.
Features
- Select repository, chart, and version via Quick Pick / Command Palette
- Validate YAML files against
values.schema.json from the chart (or override schema)
- Inline diagnostics with correct line/column positions
- Status bar shows current selection and validation status
- Helm CLI integration (optional) for repo/chart discovery
- Index.yaml fallback when Helm CLI is unavailable
- Configurable cache for index and chart downloads
Usage
Option A – Import from Helm (recommended if Helm is installed)
- Run
helm repo add for your desired repositories
- Run Helm Schema Validator: Import Repos from Helm from the Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Repositories are added to
helmSchemaValidator.repositories
Option B – Manual configuration
Add to your settings (settings.json):
{
"helmSchemaValidator.repositories": [
{ "name": "bitnami", "url": "https://charts.bitnami.com/bitnami" },
{ "name": "ingress-nginx", "url": "https://kubernetes.github.io/ingress-nginx" }
]
}
2. Select chart and version
- Open a YAML file (e.g.
values.yaml)
- Click the Helm status bar item (bottom-left) or run Helm Schema Validator: Show Selectors
- Choose Select Repository → Select Chart → Select Version
- The extension fetches the chart, extracts
values.schema.json, and validates
3. Validate
Validation runs automatically:
- When you open a YAML file
- On document changes (debounced)
- When you change the selected repository/chart/version
- When you run Helm Schema Validator: Validate Current File
4. Override schema (optional)
To use a custom schema instead of the chart’s:
{
"helmSchemaValidator.schemaPath": "/path/to/values.schema.json"
}
Or use a URL:
{
"helmSchemaValidator.schemaPath": "https://example.com/values.schema.json"
}
Commands
| Command |
Description |
| Helm Schema Validator: Select Repository |
Choose Helm repository |
| Helm Schema Validator: Select Chart |
Choose chart (after repository) |
| Helm Schema Validator: Select Version |
Choose chart version |
| Helm Schema Validator: Validate Current File |
Manually trigger validation |
| Helm Schema Validator: Import Repos from Helm |
Import repos from helm repo list |
| Helm Schema Validator: Clear Cache |
Clear index/chart cache |
| Helm Schema Validator: Show Selectors |
Open selector quick pick |
Configuration
| Setting |
Type |
Default |
Description |
helmSchemaValidator.repositories |
array |
[] |
User-configured repositories |
helmSchemaValidator.defaultRepository |
string |
"" |
Default repository |
helmSchemaValidator.defaultChart |
string |
"" |
Default chart |
helmSchemaValidator.defaultVersion |
string |
"" |
Default version |
helmSchemaValidator.schemaPath |
string |
"" |
Override schema (file or URL) |
helmSchemaValidator.enableHelmCli |
boolean |
true |
Use Helm CLI when available |
helmSchemaValidator.cacheTtlMinutes |
number |
60 |
Cache TTL in minutes |
helmSchemaValidator.validateOnType |
boolean |
true |
Validate on document change |
helmSchemaValidator.validateOnlyValuesYaml |
boolean |
false |
Validate only values.yaml files |
Schema sources
The extension resolves the schema in this order:
- Override – If
helmSchemaValidator.schemaPath is set, use that
- Chart schema – If the chart contains
values.schema.json, use it
- No schema – Show: "No values.schema.json found in chart; cannot validate."
The extension does not generate schemas; the chart must include values.schema.json or you must provide an override.
Screenshots
- Screenshot: Status bar showing Helm selection
- Screenshot: Quick Pick for repository selection
- Screenshot: Inline diagnostics in values.yaml
Troubleshooting
"No Helm repositories found"
- Run Helm Schema Validator: Import Repos from Helm (if Helm is installed)
- Or add repositories in
helmSchemaValidator.repositories
"No values.schema.json found in chart"
- The chart does not include
values.schema.json
- Provide
helmSchemaValidator.schemaPath to use a custom schema
- Some charts do not ship a schema; use a community schema if available
"Repository URL not found"
- Ensure the selected repository exists in
helmSchemaValidator.repositories
- If using Helm CLI, run
helm repo update
"Chart download failed"
- Check network connectivity
- Verify the chart version exists in the repository
- Run Helm Schema Validator: Clear Cache and try again
Helm CLI not found
- The extension falls back to fetching
index.yaml from the repo URL
- Ensure repositories are configured in settings
- Install Helm and add it to PATH for better discovery
Diagnostics at wrong position
- If exact node location is not found, diagnostics fall back to the document start
- The extension uses the YAML AST for precise mapping; report issues if mapping is wrong
License
Copyright © 2026 Rohit Phatak. All rights reserved. This software is proprietary. Unauthorized copying, modification, distribution, or use is prohibited without explicit permission from the author.