Helm Repositories
External
Internal
Overview
A repository is a place - usually a HTTP server - where charts are collected and shared. The charts are exposed in an archived format. A repository must expose in its root an index.yaml file that contains a list of all packages supplied by repository, together with metadata that allows retrieving and verifying those packages. When Helm is installed, it is pre-configured with a default repository. New repositories an be added. The list of locally-configured repository can be inspected with helm repo list, which essentially reads ~/.helm/repository/repositories.yaml. Repositories can be searched for charts with helm search. Because chart repositories change frequently, it is recommended to update the local cache.
Helm 2 came with a built-in package server for developer testing. It seems, however, that the helm serve
has been removed in Helm 3.
Using Helm repositories is recommended practice, but they are optional. A Helm chart can be deployed directly from the filesystem.
Repository Name
Each locally-added repository is known under a name, which is associated with the repository URL.
Repository URL
The repository URL represents the endpoint of a Helm repository - the endpoint's root must contain an index.yaml file. Also see the discussion for the special case of dependency charts that exist on the local file system.
Default Repository
When Helm is installed, it is pre-configured to look into the official Helm Charts GitHub repository, named "stable".
Local Cache
The local repository cache is maintained under ~/.helm/repository.
TODO investigate ~/.helm/repository
Chart Reference
A chart stored in a chart repository can be identified by its chart reference, relative to the repository. The chart reference and the chart name are semantically equivalent. The chart reference, or the chart name, is used to specify the chart when installed.