helm

module
v4.0.0-...-99c0657 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2025 License: Apache-2.0

README

Helm

Build Status Go Report Card GoDoc CII Best Practices OpenSSF Scorecard

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)

Helm Development and Stable Versions

Helm v4 is currently under development on the main branch. This is unstable and the APIs within the Go SDK and at the command line are changing. Helm v3 (current stable) is maintained on the dev-v3 branch. APIs there follow semantic versioning.

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.
  • Winget users can use winget install Helm.Helm.
  • Scoop users can use scoop install helm.
  • Snapcraft users can use snap install helm --classic.
  • Flox users can use flox install kubernetes-helm.

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.

The development of Helm v4 is currently happening on the main branch while the development of Helm v3, the stable branch, is happening on the dev-v3 branch. Changes should be made to the main branch prior to being added to the dev-v3 branch so that all changes are carried along to Helm v4.

Community, discussion, contribution, and support

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

Contribution

If you're interested in contributing, please refer to the Contributing Guide before submitting a pull request.

Code of conduct

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

Directories

Path Synopsis
cmd
internal
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.
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.
chart/v2
Package v2 provides chart handling for apiVersion v1 and v2 charts
Package v2 provides chart handling for apiVersion v1 and v2 charts
chart/v2/util
package util contains tools for working with charts.
package util 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.
cmd
cmd/search
Package search provides client-side repository searching.
Package search provides client-side repository searching.
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.
ignore
Package ignore provides tools for writing ignore files (a la .gitignore).
Package ignore provides tools for writing ignore files (a la .gitignore).
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.
pusher
Package pusher provides a generalized tool for uploading data by scheme.
Package pusher provides a generalized tool for uploading data by scheme.
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.
uploader
Package uploader provides a library for uploading charts.
Package uploader provides a library for uploading charts.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳