README

Helm

CircleCI Go Report Card GoDoc CII Best Practices

Helm is a tool for managing Charts. Charts are packages of pre-configured Kubernetes resources.

Use Helm to:

  • Find and use popular software packaged as Helm Charts to run in Kubernetes
  • Share your own applications as Helm Charts
  • Create reproducible builds of your Kubernetes applications
  • Intelligently manage your Kubernetes manifest files
  • Manage releases of Helm packages

Helm in a Handbasket

Helm is a tool that streamlines installing and managing Kubernetes applications. Think of it like apt/yum/homebrew for Kubernetes.

  • Helm renders your templates and communicates with the Kubernetes API
  • Helm runs on your laptop, CI/CD, or wherever you want it to run.
  • Charts are Helm packages that contain at least two things:
    • A description of the package (Chart.yaml)
    • One or more templates, which contain Kubernetes manifest files
  • Charts can be stored on disk, or fetched from remote chart repositories (like Debian or RedHat packages)

Install

Binary downloads of the Helm client can be found on the Releases page.

Unpack the helm binary and add it to your PATH and you are good to go!

If you want to use a package manager:

  • Homebrew users can use brew install helm.
  • Chocolatey users can use choco install kubernetes-helm.
  • Scoop users can use scoop install helm.
  • GoFish users can use gofish install helm.
  • Snapcraft users can use snap install helm --classic

To rapidly get Helm up and running, start with the Quick Start Guide.

See the installation guide for more options, including installing pre-releases.

Docs

Get started with the Quick Start guide or plunge into the complete documentation

Roadmap

The Helm roadmap uses GitHub milestones to track the progress of the project.

Community, discussion, contribution, and support

You can reach the Helm community and developers via the following channels:

Code of conduct

Participation in the Helm community is governed by the Code of Conduct.

Directories

Path Synopsis
cmd
helm/search
Package search provides client-side repository searching.
Package search provides client-side repository searching.
pkg
action
Package action contains the logic for each action that Helm can perform.
Package action contains the logic for each action that Helm can perform.
chartutil
Package chartutil contains tools for working with charts.
Package chartutil contains tools for working with charts.
cli
Package cli describes the operating environment for the Helm CLI.
Package cli describes the operating environment for the Helm CLI.
downloader
Package downloader provides a library for downloading charts.
Package downloader provides a library for downloading charts.
engine
Package engine implements the Go text template engine as needed for Helm.
Package engine implements the Go text template engine as needed for Helm.
gates
Package gates provides a general tool for working with experimental feature gates.
Package gates provides a general tool for working with experimental feature gates.
getter
Package getter provides a generalize tool for fetching data by scheme.
Package getter provides a generalize tool for fetching data by scheme.
helmpath
Package helmpath calculates filesystem paths to Helm's configuration, cache and data.
Package helmpath calculates filesystem paths to Helm's configuration, cache and data.
helmpath/xdg
Package xdg holds constants pertaining to XDG Base Directory Specification.
Package xdg holds constants pertaining to XDG Base Directory Specification.
kube/fake
Package fake implements various fake KubeClients for use in testing
Package fake implements various fake KubeClients for use in testing
lint/support
Package support contains tools for linting charts.
Package support contains tools for linting charts.
plugin/cache
Package cache provides a key generator for vcs urls.
Package cache provides a key generator for vcs urls.
plugin/installer
Package installer provides an interface for installing Helm plugins.
Package installer provides an interface for installing Helm plugins.
postrender
Package postrender contains an interface that can be implemented for custom post-renderers and an exec implementation that can be used for arbitrary binaries and scripts
Package postrender contains an interface that can be implemented for custom post-renderers and an exec implementation that can be used for arbitrary binaries and scripts
provenance
Package provenance provides tools for establishing the authenticity of a chart.
Package provenance provides tools for establishing the authenticity of a chart.
repo
Package repo implements the Helm Chart Repository.
Package repo implements the Helm Chart Repository.
repo/repotest
Package repotest provides utilities for testing.
Package repotest provides utilities for testing.
strvals
Package strvals provides tools for working with strval lines.
Package strvals provides tools for working with strval lines.
time
Package time contains a wrapper for time.Time in the standard library and associated methods.
Package time contains a wrapper for time.Time in the standard library and associated methods.
internal
ignore
Package ignore provides tools for writing ignore files (a la .gitignore).
Package ignore provides tools for writing ignore files (a la .gitignore).
monocular
Package monocular contains the logic for interacting with a Monocular compatible search API endpoint.
Package monocular contains the logic for interacting with a Monocular compatible search API endpoint.