Helm Support » History » Sprint/Milestone 2
milan, 01/28/2018 11:17 PM
1 | 1 | milan | # Helm Support |
---|---|---|---|
2 | |||
3 | Manage [Charts](https://github.com/kubernetes/helm/blob/master/docs/charts.md), the content type for the [Helm](https://helm.sh/) package manager. |
||
4 | |||
5 | ## The Content Unit Anatomy |
||
6 | |||
7 | A **chart** is a *named, compressed tarball* that, besides the actual content, contains a mandatory [chart file](https://github.com/kubernetes/helm/blob/master/docs/charts.md#the-chartyaml-file) which describes the **chart**. **charts** may optionally *nest* further **chart** dependencies. |
||
8 | |||
9 | ## The Content Unit Unique Constraints |
||
10 | |||
11 | Two **charts** can be considered *identical* if their *name*, *version* and *digest* attributes are equal. A [charts repository index](https://github.com/kubernetes/helm/blob/master/docs/chart_repository.md#the-index-file) tracks these attributes of each published **chart**. |
||
12 | |||
13 | ## Additional Mandatory Content Unit Attributes |
||
14 | |||
15 | There are multiple optional [attributes](https://github.com/kubernetes/helm/blob/master/docs/charts.md#the-chartyaml-file) a **chart** can have, that the [helm inspect](https://docs.helm.sh/using_helm/#helm-search-finding-charts) command will display. The [helm search](https://docs.helm.sh/using_helm/#helm-search-finding-charts) command utilises matching based on the *tags* and *description* attributes in addition to the *name* attribute. It therefore would be reasonable to track these attributes in **Pulp** too. |
||
16 | |||
17 | ## Content Discovery |
||
18 | |||
19 | 2 | milan | The **helm** client supports the notion of a [chart repository](https://docs.helm.sh/using_helm/#helm-repo-working-with-repositories) ; multiple repositories can be *tracked* by the client. A **chart** can be discovered by searching thru a [repository index](https://github.com/kubernetes/helm/blob/master/docs/chart_repository.md#the-index-file) that contains all the *mandatory* attributes of all the **charts** of the repository. In addition, both the **index** and the **chart file** include a *list of urls* that a **chart** can be downloaded from. Both these lists should probably contain a *link back* to the **Pulp** repository itself. The **helm** content plug-in should therefore rebuild the index upon a repository publish. |
20 | 1 | milan | |
21 | ## Summary |
||
22 | |||
23 | Relevant **chart** content type attributes: |
||
24 | |||
25 | - name |
||
26 | - version |
||
27 | - digest |
||
28 | - description |
||
29 | - a list of tags |
||
30 | - a list of URLs |