Helm Chart.yaml
The Chart.yaml file is required for a chart
Chart.yaml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
Chart.yaml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
apiVersionrequired | enum | The apiVersion field should be v2 for Helm 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. v3 is experimental. one of: "v1", "v2", "v3" |
namerequired | string | The name of the chart |
versionrequired | string | A SemVer 2 version |
kubeVersion | string | The optional kubeVersion field can define semver constraints on supported Kubernetes versions. Helm will validate the version constraints when installing the chart and fail if the cluster runs an unsupported Kubernetes version. |
description | string | A single-sentence description of this project |
type | enum | The type of the chart default: "application"one of: "application", "library" |
keywords | array<string> | A list of keywords about this project |
home | string | The URL of this projects home page |
sources | array<string> | A list of URLs to source code for this project |
dependencies | array<object> | In Helm, one chart may depend on any number of other charts. These dependencies can be dynamically linked using the dependencies field in Chart.yaml or brought in to the charts/ directory and managed manually. The charts required by the |
maintainers | array<object> | — |
icon | string | A URL to an SVG or PNG image to be used as an icon |
appVersion | string | Note that the appVersion field is not related to the version field. It is a way of specifying the version of the application. For example, the drupal chart may have an appVersion: "8.2.1", indicating that the version of Drupal included in |
deprecated | boolean | When managing charts in a Chart Repository, it is sometimes necessary to deprecate a chart. The optional deprecated field in Chart.yaml can be used to mark a chart as deprecated. If the latest version of a chart in the repository is marked |
annotations | object | A list of annotations keyed by name |
annotations.helm.sh/depends-on/subcharts | string | A JSON array of subchart names (by name or alias) that must be fully deployed and in a ready state before the current chart resources can be installed. |
annotations.artifacthub.io/changes | string | This annotation is used to provide some details about the changes introduced by a given chart version. Artifact Hub can generate and display a ChangeLog based on the entries in the changes field in all your chart versions. This annotation |
annotations.artifacthub.io/containsSecurityUpdates | enum | Use this annotation to indicate that this chart version contains security updates. When a package release contains security updates, a special message will be displayed in the Artifact Hub UI as well as in the new release email one of: "true", "false" |
annotations.artifacthub.io/crds | string | By default, Artifact Hub will try to extract the containers images used by Helm charts from the manifests generated from a dry-run install using the default values. If you prefer, you can also provide a list of containers images manually |
annotations.artifacthub.io/images | string | This annotation can be used to list the operator's CRDs. They will be visible in the package's detail view as cards. |
annotations.artifacthub.io/crdsExamples | string | Use this annotation to provide a list of example CRs for the operator's CRDs. Each of the examples can be opened from the corresponding CRD card in the package's detail view. |
annotations.artifacthub.io/license | string | Use this annotation to indicate the chart's license. By default, Artifact Hub tries to read the chart's license from the LICENSE file in the chart, but it's possible to override or provide it with this annotation. It must be a valid SPDX |
annotations.artifacthub.io/links | string | This annotation allows including named links, which will be rendered nicely in Artifact Hub. You can use this annotation to include links not included previously in the Chart.yaml file, or you can use it to name links already present (in |
annotations.artifacthub.io/maintainers | string | This annotation can be used if you want to display a different name for a given user in Artifact Hub than the one used in the Chart.yaml file. If the email used matches, the name used in the annotations entry will be displayed in Artifact |
annotations.artifacthub.io/operator | enum | Use this annotation to indicate that your chart represents an operator. Artifact Hub at the moment also considers your chart to represent an operator if the word operator appears in the chart name. one of: "true", "false" |
annotations.artifacthub.io/operatorCapabilities | enum | Use this annotation to indicate the capabilities of the operator your chart provides. It must be one of the following options: Basic Install, Seamless Upgrades, Full Lifecycle, Deep Insights or Auto Pilot. For more information please see one of: "Basic Install", "Seamless Upgrades…, "Full Lifecycle", "Deep Insights", "Auto Pilot" |
annotations.artifacthub.io/prerelease | enum | Use this annotation to indicate that this chart version is a pre-release. This status will be displayed in the UI's package view, as well as in new releases notifications emails. one of: "true", "false" |
annotations.artifacthub.io/recommendations | string | This annotation allows recommending other related packages. Recommended packages will be featured in the package detail view in Artifact Hub. |
annotations.artifacthub.io/signKey | string | This annotation can be used to provide some information about the key used to sign a given chart version. This information will be displayed on the Artifact Hub UI, making it easier for users to get the information they need to verify the |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- 45 properties, 91% carrying a description, max nesting depth 11.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
anyOf | JSON Schema Core, draft 2020-12 | §10.2.1.2 — "anyOf" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
deprecated | JSON Schema Validation, draft 2020-12 | §9.3 — "deprecated" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
else | JSON Schema Core, draft 2020-12 | §10.2.2.3 — "else" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
format | JSON Schema Validation, draft 2020-12 | §7 — Vocabularies for Semantic Content With "format" |
if | JSON Schema Core, draft 2020-12 | §10.2.2.1 — "if" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
pattern | JSON Schema Validation, draft 2020-12 | §6.3.3 — "pattern" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
then | JSON Schema Core, draft 2020-12 | §10.2.2.2 — "then" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
format: "uri" | RFC 3986 (STD 66) | §3 — Syntax Components |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.