Appendix B. Chart Repository API

In Chapter 7, we covered chart repositories. This appendix briefly covers the chart repository API, the underlying specification that enables Helm to work with chart repositories.

The chart repository API is lightweight because there is only one required HTTP endpoint that must be implemented: GET /index.yaml.

In 99% of cases, chart repositories also serve chart package tarballs (.tgz) and any associated provenance files (.prov). However, it is also possible to host these files on a separate domain.

As described in detail in Chapter 7, index.yaml represents the repository index, containing a complete list of all the available chart versions in the repository. The format of this file is specific to Helm, and it currently has only one API version (1).

index.yaml

When implementing the chart repository API, your service must provide an HTTP GET /index.yaml route relative to the repository URL provided. The response from this request must return a status code 200 OK, and the response body must be a valid index.yaml as described in the following.

Note

The GET /index.yaml endpoint does not need to be at the root of the URL path. For instance, given a provided repository URL such as https://example.com/charts, the GET /index.yaml route must be accessible at https://example.com/charts/index.yaml.

The index.yaml Format

Following is a simple, valid index.yaml with a single chart version (superapp-0.1.0):

apiVersion: v1 
entries: 
  superapp:
  - apiVersion ...

Get Learning Helm now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.