Helm Chart Chart.yaml: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
=External=
=External=


* https://helm.sh/docs/developing_charts/#the-chart-yaml-file
* https://helm.sh/docs/topics/charts/#the-chartyaml-file


=Internal=
=Internal=
Line 8: Line 8:


=Overview=
=Overview=
The chart's main metadata file. It is required to be present. Some of the required and optional elements are presented below, unknown elements will be silently ignored.
The chart's main metadata file. It is required to be present. Some of the required and optional elements are presented below, unknown elements will be silently ignored.


=Example=
=Example=
 
<font size=-1>
  [[#apiVersion|apiVersion]]: v1
  [[#apiVersion|apiVersion]]: v2
  [[#name|name]]: archaeopteryx
  [[#name|name]]: archaeopteryx
  [[#version|version]]: 0.1.0
  [[#version|version]]: 0.1.0
  [[#appVersion|appVersion]]: "1.0"
  [[#appVersion|appVersion]]: "1.0"
  description: A Helm chart for Kubernetes
  [[#description|description]]: archaeopteryx Helm chart
</font>


=Elements=
=Elements=
All fields below are available in templates as built-in objects, with their first letter capitalized and prefixed by ".Chart."
Example:
&#123;{ .Chart.Name }}
For more details see: {{Internal|Helm_Templates#Chart|Helm Templates}}


====apiVersion====
====apiVersion====


Required element; the chart API version, always "v1".
Required element; the chart API version. The apiVersion field should be "v2" for charts that require at least Helm 3. Charts supporting previous Helm versions have an apiVersion set to v1 and are still installable by Helm 3.


====name====
====name====


Required element; the name of the chart.
Required element. Represents the [[Helm_Concepts#Chart_Name|name]] of the chart.


====version====
====version====


Required element; [[Software_Development#Semantic_Versioning|SemVer 2]] version.
Required element. Represents the [[Semantic_Versioning|SemVer 2]] [[Helm Concepts#Chart_Version|chart version]] number. Non-SemVer names are explicitly disallowed by the system. For more details, see {{Internal|Helm_Concepts#Chart_Versioning|Chart Versioning}}


====appVersion====
====appVersion====


Optional element; the version of the application packaged in this chart. It does not need to be [[Software_Development#Semantic_Versioning|SemVer 2]].
Optional element. Represents the [[Helm Concepts#Application_Version|application version]]: the version of the application packaged in this chart. It does not need to be [[Software_Development#Semantic_Versioning|SemVer 2]]. For more details, see {{Internal|Helm_Concepts#Chart_Versioning|Chart Versioning}}
 
====dependencies====
 
<code>dependencies</code> is an optional element that contains the list of immediate (direct) dependencies for this chart, expressed as a list of chart "coordinates": [[Helm_Concepts#Chart_Name|name]], [[Helm_Concepts#Chart_Versioning|version]] and [[Helm_Repositories#Repository_URL|repository URL]]. Note that the immediate dependencies may have dependencies on their own, which are not explicitly specified in the Chart.yaml "dependencies" section. Helm does not walk the dependency tree the same way like, for example, Maven does, but well formed Helm charts include recursively their own dependencies, so this is usually not a problem. The <code>dependencies</code> element was introduced in Helm 3 and replaces the [[Helm_Chart_requirements.yaml|requirements.yaml]] file.
 
For more details about the "dependencies" element syntax, see: {{Internal|Helm_Dependencies#Dependency_Declaration|Helm Dependencies &#124; Dependency Declaration}}
 
For an in-depth discussion on how Helm dependencies work, see: {{Internal|Helm_Dependencies#How_Helm_Dependencies_Work|Helm Dependencies &#124; How Helm Dependencies Work}}
 
====kubeVersion====
 
Optional element. A SemVer range of compatible Kubernetes versions.
 
====description====
====description====
Optional element; the single-sentence description of this project.
====type====
Optional element. See: {{Internal|Helm Concepts#Chart_Type|Chart Type}}
====keywords====
====keywords====
====home====
====home====
Line 44: Line 69:
====icon====
====icon====
====deprecated====
====deprecated====
<font color=darkgray>TODO: https://helm.sh/docs/topics/charts/#deprecating-charts</font>.
====import-values====
{{External|https://helm.sh/docs/topics/charts/#importing-child-values-via-dependencies}}

Latest revision as of 21:42, 5 February 2022

External

Internal

Overview

The chart's main metadata file. It is required to be present. Some of the required and optional elements are presented below, unknown elements will be silently ignored.

Example

apiVersion: v2
name: archaeopteryx
version: 0.1.0
appVersion: "1.0"
description: archaeopteryx Helm chart

Elements

All fields below are available in templates as built-in objects, with their first letter capitalized and prefixed by ".Chart."

Example:

{{ .Chart.Name }}

For more details see:

Helm Templates

apiVersion

Required element; the chart API version. The apiVersion field should be "v2" for charts that require at least Helm 3. Charts supporting previous Helm versions have an apiVersion set to v1 and are still installable by Helm 3.

name

Required element. Represents the name of the chart.

version

Required element. Represents the SemVer 2 chart version number. Non-SemVer names are explicitly disallowed by the system. For more details, see

Chart Versioning

appVersion

Optional element. Represents the application version: the version of the application packaged in this chart. It does not need to be SemVer 2. For more details, see

Chart Versioning

dependencies

dependencies is an optional element that contains the list of immediate (direct) dependencies for this chart, expressed as a list of chart "coordinates": name, version and repository URL. Note that the immediate dependencies may have dependencies on their own, which are not explicitly specified in the Chart.yaml "dependencies" section. Helm does not walk the dependency tree the same way like, for example, Maven does, but well formed Helm charts include recursively their own dependencies, so this is usually not a problem. The dependencies element was introduced in Helm 3 and replaces the requirements.yaml file.

For more details about the "dependencies" element syntax, see:

Helm Dependencies | Dependency Declaration

For an in-depth discussion on how Helm dependencies work, see:

Helm Dependencies | How Helm Dependencies Work

kubeVersion

Optional element. A SemVer range of compatible Kubernetes versions.

description

Optional element; the single-sentence description of this project.

type

Optional element. See:

Chart Type

keywords

home

sources

maintainers

engine

icon

deprecated

TODO: https://helm.sh/docs/topics/charts/#deprecating-charts.

import-values

https://helm.sh/docs/topics/charts/#importing-child-values-via-dependencies