Chart.yaml — Chart Metadata

Chart.yaml describes the chart: its name, versions, description, and dependencies.

SyntaxapiVersion: v2 name: mychart version: 0.1.0

Chart.yaml is the identity card of a chart. Helm reads it to know what the chart is and how to version it.

Key fields

  • apiVersion — use v2 for Helm 3 charts.
  • name — the chart name.
  • version — the chart version (SemVer). Bump this when the chart itself changes.
  • appVersion — the version of the app being deployed (informational, quotes recommended).
  • description — a one-line summary.
  • typeapplication (default) or library.
  • dependencies — other charts this one needs.

version vs appVersion

version tracks the packaging; appVersion tracks the software inside. They move independently.

Example

Example · yaml
apiVersion: v2
name: mychart
description: A Helm chart for my web application
type: application
version: 0.1.0
appVersion: "1.16.0"
keywords:
  - web
  - nginx
maintainers:
  - name: Jane Dev
    email: [email protected]

When to use it

  • A chart author fills in Chart.yaml with an appVersion matching the Docker image tag so operators can see which application version a chart ships.
  • A dependency manager reads Chart.yaml's version field to verify the chart satisfies a semantic version constraint before adding it as a subchart.
  • A release pipeline bumps the chart's version in Chart.yaml before running helm package, ensuring each published archive has a unique, traceable version number.

More examples

Minimal Chart.yaml

Defines the required fields: apiVersion v2 for Helm 3, the chart name, its version, and the application version it ships.

Example · yaml
apiVersion: v2
name: myapp
description: A Helm chart for my application
type: application
version: 1.2.0
appVersion: "2.5.1"

Chart.yaml with maintainers

Adds optional metadata fields used by chart repositories and Artifact Hub to help users discover and contact maintainers.

Example · yaml
apiVersion: v2
name: myapp
description: Production web application chart
type: application
version: 2.0.0
appVersion: "3.1.0"
keywords:
  - web
  - api
maintainers:
  - name: Platform Team
    email: [email protected]

Library chart declaration

Declares a library chart (type: library) that provides reusable named templates without rendering any resources directly.

Example · yaml
apiVersion: v2
name: mylib
description: Shared template helpers
type: library
version: 0.3.0

Discussion

  • Be the first to comment on this lesson.