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:

Copy to clipboard
GET projects/:id/packages/helm/:channel/index.yaml
AttributeTypeRequiredDescription
idstringyesThe ID or full path of the project.
channelstringyesHelm repository channel.
Copy to clipboard
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:

Copy to clipboard
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:

Copy to clipboard
GET projects/:id/packages/helm/:channel/charts/:file_name.tgz
AttributeTypeRequiredDescription
idstringyesThe ID or full path of the project.
channelstringyesHelm repository channel.
file_namestringyesChart filename.
Copy to clipboard
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:

Copy to clipboard
POST projects/:id/packages/helm/api/:channel/charts
AttributeTypeRequiredDescription
idstringyesThe ID or full path of the project.
channelstringyesHelm repository channel.
chartfileyesChart (as multipart/form-data).
Copy to clipboard
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"