Member-only story
Helm Chart version vs. appVersion
3 min readOct 30, 2024
In a Helm chart, both version
and appVersion
are commonly used fields in the Chart.yaml
file, but they serve different purposes. Here’s a breakdown of their differences:
1. version
:
- Purpose: This is the Helm chart version. It refers to the version of the chart itself, not the application it deploys. You can increment this version when you make changes to the Helm chart (e.g., modifying configuration, templates, or adding features).
- SemVer: Helm follows Semantic Versioning (SemVer). It’s important to update this version according to the nature of the changes you make (major, minor, or patch updates).
- Usage: This is used by Helm to track the version of the chart in repositories and manage upgrades of the Helm chart.
- Example:
version: 1.2.3
2. appVersion
:
- Purpose: This field specifies the version of the application that the Helm chart is deploying. Unlike
version
, this doesn’t affect the Helm chart’s operation itself but provides metadata about the application being deployed (e.g., MySQL, Nginx, or your custom app). - No SemVer Enforcement: While it’s common to use Semantic Versioning, Helm doesn’t enforce any specific versioning scheme for
appVersion
. You can use whatever…