Helm API (FREE)

This is the API documentation for Helm.

WARNING: 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.

NOTE: 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.

Download a chart index

Introduced in GitLab 14.1.

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

Introduced in GitLab 14.0.

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

Introduced in GitLab 14.1.

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"