Helm API
- Tier: Free, Premium, Ultimate
 - Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
 
This is the API documentation for Helm.
This API is used by the Helm-related package clients such as Helm
and helm-push,
and is generally not meant for manual consumption.
For instructions on how to upload and install Helm packages from the GitLab package registry, see the Helm registry documentation.
These endpoints do not adhere to the standard API authentication methods. See the Helm registry documentation for details on which headers and token types are supported. Undocumented authentication methods might be removed in the future.
Download a chart index
Download a chart index:
GET projects/:id/packages/helm/:channel/index.yaml
| Attribute | Type | Required | Description | 
|---|---|---|---|
id | 
string | yes | The ID or full path of the project. | 
channel | 
string | yes | Helm repository channel. | 
curl --user <username>:<personal_access_token> \
     "https://gitlab.example.com/api/v4/projects/1/packages/helm/stable/index.yaml"
Write the output to a file:
curl --user <username>:<personal_access_token> \
     "https://gitlab.example.com/api/v4/projects/1/packages/helm/stable/index.yaml" \
     --remote-name
Download a chart
Download a chart:
GET projects/:id/packages/helm/:channel/charts/:file_name.tgz
| Attribute | Type | Required | Description | 
|---|---|---|---|
id | 
string | yes | The ID or full path of the project. | 
channel | 
string | yes | Helm repository channel. | 
file_name | 
string | yes | Chart filename. | 
curl --user <username>:<personal_access_token> \
     "https://gitlab.example.com/api/v4/projects/1/packages/helm/stable/charts/mychart.tgz" \
     --remote-name
Upload a chart
Upload a chart:
POST projects/:id/packages/helm/api/:channel/charts
| Attribute | Type | Required | Description | 
|---|---|---|---|
id | 
string | yes | The ID or full path of the project. | 
channel | 
string | yes | Helm repository channel. | 
chart | 
file | yes | Chart (as multipart/form-data). | 
curl --request POST \
     --form 'chart=@mychart.tgz' \
     --user <username>:<personal_access_token> \
     "https://gitlab.example.com/api/v4/projects/1/packages/helm/api/stable/charts"