Helm is a package management tool for Kubernetes, enabling users to define, install, and upgrade complex Kubernetes applications. A Helm Chart is a templated configuration package containing Kubernetes resource definitions (YAML files).
Argo CD's integration with Helm enhances GitOps practices by enabling declarative continuous delivery through web console, Argo CD dashboard, or CLI. Example:
OCI Helm Chart Example:
** The Application's lifecycle is managed by Argo CD, not Helm. **
When multiple value sources are provided, the priority order is: parameters
> valuesObject
> values
> valueFiles
> helm repository values.yaml
.
Templating: Helm uses the Go template engine (gotpl) to dynamically generate Kubernetes resource files.
Package Management: Helm packages applications as Charts (including templates, default values, and dependencies), simplifying distribution and version control.
Dependency Management: Supports dependencies between Charts.
Lifecycle Management: Provides commands like install, upgrade, and rollback for full lifecycle management.
Complex Application Deployment: Ideal for scenarios requiring dynamic configuration generation (e.g., environment variables or user input).
Multi-Environment Deployments: Supports environment-specific configurations via values.yaml files.
Application Distribution: Enables packaging Charts for distribution to Helm repositories or OCI registries.
For more detailed information, please refer to: Helm