github.com/koderover/helm@v2.17.0+incompatible/docs/chart_best_practices/conventions.md (about) 1 # General Conventions 2 3 This part of the Best Practices Guide explains general conventions. 4 5 ## Chart Names 6 7 Chart names should use lower case letters and numbers, and start with a letter. 8 9 Hyphens (-) are allowed, but are known to be a little trickier to work with in Helm templates (see [issue #2192](https://github.com/helm/helm/issues/2192) for more information). 10 11 Here are a few examples of good chart names from the [Helm Community Charts](https://github.com/helm/charts): 12 13 ``` 14 drupal 15 cert-manager 16 oauth2-proxy 17 ``` 18 19 Neither uppercase letters nor underscores should be used in chart names. Dots should not be used in chart names. 20 21 The directory that contains a chart MUST have the same name as the chart. Thus, the chart `cert-manager` MUST be created in a directory called `cert-manager/`. This is not merely a stylistic detail, but a requirement of the Helm Chart format. 22 23 ## Version Numbers 24 25 Wherever possible, Helm uses [SemVer 2](https://semver.org) to represent version numbers. (Note that Docker image tags do not necessarily follow SemVer, and are thus considered an unfortunate exception to the rule.) 26 27 When SemVer versions are stored in Kubernetes labels, we conventionally alter the `+` character to an `_` character, as labels do not allow the `+` sign as a value. 28 29 ## Formatting YAML 30 31 YAML files should be indented using _two spaces_ (and never tabs). 32 33 ## Usage of the Words Helm, Tiller, and Chart 34 35 There are a few small conventions followed for using the words Helm, helm, Tiller, and tiller. 36 37 - Helm refers to the project, and is often used as an umbrella term 38 - `helm` refers to the client-side command 39 - Tiller is the proper name of the backend 40 - `tiller` is the name of the binary run on the backend 41 - The term 'chart' does not need to be capitalized, as it is not a proper noun. 42 43 When in doubt, use _Helm_ (with an uppercase 'H'). 44 45 ## Restricting Tiller by Version 46 47 A `Chart.yaml` file can specify a `tillerVersion` SemVer constraint: 48 49 ```yaml 50 name: mychart 51 version: 0.2.0 52 tillerVersion: ">=2.4.0" 53 ``` 54 55 This constraint should be set when templates use a new feature that was not 56 supported in older versions of Helm. While this parameter will accept sophisticated 57 SemVer rules, the best practice is to default to the form `>=2.4.0`, where `2.4.0` 58 is the version that introduced the new feature used in the chart. 59 60 This feature was introduced in Helm 2.4.0, so any version of Tiller older than 61 2.4.0 will simply ignore this field.