The Content Unit Anatomy¶
A chart is a named, compressed tarball that, besides the actual content, contains a mandatory chart file which describes the chart. charts may optionally nest further chart dependencies.
The Content Unit Unique Constraints¶
Two charts can be considered identical if their name, version and digest attributes are equal. A charts repository index tracks these attributes of each published chart.
Additional Mandatory Content Unit Attributes¶
There are multiple optional attributes a chart can have, that the helm inspect command will display. The helm search 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.
The helm client supports the notion of a chart repository ; multiple repositories can be tracked by the client. A chart can be discovered by searching thru a repository index 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.
Relevant chart content type attributes:
- a list of tags
- a list of URLs