Skip to content

Helm Repositories

Nitro Repo delivers first-class Helm repository hosting with support for both classic HTTP chart clients and the OCI-based workflows introduced in Helm v3. Create a Helm repository from the Admin UI and choose the repository mode that matches your deployment:

  • HTTP (default) – behaves like a traditional chart repository (helm repo add, helm install).
  • OCI – exposes only the distribution-spec API (helm push, helm pull).

Configuration

SettingDescription
Allow OverwritePermits overwriting an existing chart version. Disabled by default.
Public Base URLOptional fully qualified URL advertised inside index.yaml. Useful when Nitro sits behind a reverse proxy.
Index Cache TTLServer-side cache duration (seconds) for rendered index.yaml. Use 0/blank to disable caching.
Max Chart SizeRejects uploads larger than the configured number of bytes. Defaults to 10 MiB.
Max Files Per ChartCaps the number of files allowed inside a chart archive. Defaults to 1,024.

Uploading Charts

HTTP (ChartMuseum compatible)

bash
helm package ./charts/webapp
curl -u token:secret \
  -T webapp-1.0.0.tgz \
  https://nitro.example.com/repositories/default/helm/webapp-1.0.0.tgz

OCI (Helm v3)

bash
helm registry login nitro.example.com --username token --password secret

# URL form with explicit storage/repo prefix
helm push webapp-1.0.0.tgz oci://nitro.example.com/repositories/default/helm

# Short form also supported; Nitro infers storage/repo
helm push webapp-1.0.0.tgz oci://nitro.example.com/default/helm

HTTP and OCI modes operate independently—Nitro no longer mirrors uploads between the two protocols.

Tip: The OCI URL path is translated by Nitro so either oci://nitro/repositories/<storage>/<repo> or oci://nitro/<storage>/<repo> resolves to the same repository.

Admin UI & Package Management

The Admin view for a Helm repository now includes a Packages tab that lists every uploaded chart version, no matter whether it arrived through HTTP or the OCI registry. The table supports filtering, paging, and bulk deletion:

  • Deleting a chart version from the UI removes the HTTP artifact (when present), the OCI manifest, and any associated blobs/config layers.
  • Metadata originates from the chart archive itself, so entries uploaded via helm push appear in the list immediately.

You can invoke the same behaviour through the REST API at /api/repository/<id>/packages; see the route reference for sample requests.

Further Reading