doc/api/packages/helm.md
{{< details >}}
{{< /details >}}
Use this API to interact with Helm package clients.
[!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.
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.
[!note] To ensure consistent chart download URLs, the
contextPathfield inindex.yamlresponses always uses the numeric project ID, whether you access the API with the project ID or the full project path.
Downloads a specified chart index for a project.
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> \
--url "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> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/helm/stable/index.yaml" \
--remote-name
Downloads a specified chart for a project.
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> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/helm/stable/charts/mychart.tgz" \
--remote-name
Uploads a specified chart for a project.
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 '[email protected]' \
--user <username>:<personal_access_token> \
--url "https://gitlab.example.com/api/v4/projects/1/packages/helm/api/stable/charts"