dorkhub

Helm-Intellisense

Extension for Visual Studio Code - Intellisense in helm-templates from the values.yaml

tim-koehler
TypeScript2.3k27 forksMITupdated 6 months ago
visit the demogit clone https://github.com/tim-koehler/Helm-Intellisense.gittim-koehler/Helm-Intellisense

Helm-Intellisense

Visual Studio Marketplace Installs Visual Studio Marketplace Rating (Stars) GitHub Repo stars GitHub issues

Extension to help writing Helm-Templates by providing intellisense

Demo Gif

Features

  • The values.yaml file of the chart will be read and evaluated automatically to provide intellisense.
  • Autocomplete will also work for all Named Templates defined in the any .tpl file.
  • Autocomplete for defined helm variables.
  • Compatible with Windows and Linux/Unix.
  • Support for custom named value files is provided (see settings section below).
  • Lint command to validate correct values templating and usage of NamedTemplates.
  • Support and autocomplete for yaml anchors and labels
  • The extension is compatible with the Kubernetes extension.
  • Working with language type yaml and helm-template.

Commands

  • Helm-Intellisense: Lint : This command parses the currently active document and validates that all paths(like .Values.foo.bar) point to valid values.
  • Helm-Intellisense: Lint Chart : Equivalent to Lint command but for all files in the chart of the file that is currently active.

Settings

Setting Description
helm-intellisense.customValueFileNames Defines list of possible files containing values
(default: values.yaml)
helm-intellisense.lintFileOnSave If set to true the Helm-Intellisense: Lint command will be executed on save (default: true)
helm-intellisense.excludeFromLinting Define a list of filenames which should be excluded from linting.
Wildcards are also possible (Example: *.gotmpl)

Multiple value files (overriding)

When mulitple value files are defined they are parsed from the bottom up:

"helm-intellisense.customValueFileNames": [
    "prod-values.yaml",
    "dev-values.yaml",
    "values.yaml"
]

In this case values will be overwritten/merged by dev and dev by prod. This also means that the linter will only throw an error if a certain key is not found in any of the specified files.

more like this

vim-shareedit

Share editor state such as cursor position between (Neo)vim and VSCode

TypeScript54

dotfiles

This is Okontu (aka Okonomi Ubuntu) with my collection of dotfiles and installers for environments on Ubuntu Linux. Ins…

Shell57

search

search projects, people, and tags