Skip to content

Helm HTTP proxy fails with charts that have oci:// URLs #320

Description

@NathanVaughn

Thanks for the new release! I noticed that the Helm HTTP proxy will error out when the underlying chart has an oci:// url.
For example: https://stakater.github.io/stakater-charts/index.yaml

  konfigurator:
  - apiVersion: v1
    created: "2024-10-11T10:37:50.358372394Z"
    description: Konfigurator chart that runs on kubernetes
    digest: f289013c4aafe437c666cb179301ba1493d0f115f070dafd6216ee9ff5708803
    home: https://github.com/stakater/konfigurator
    icon: https://raw.githubusercontent.com/stakater/Konfigurator/master/assets/web/Konfigurator-round-100px.png
    keywords:
    - Konfigurator
    - kubernetes
    maintainers:
    - email: hello@stakater.com
      name: Stakater
    name: konfigurator
    urls:
    - oci://ghcr.io/stakater/saap-catalog/charts/konfigurator-0.1.40.tgz
    version: 0.1.40

This condition gets triggered

downloadURL := baseURL.ResolveReference(reference)
if (downloadURL.Scheme != "http" && downloadURL.Scheme != "https") || downloadURL.Host == "" {
return helmChartRelease{}, fmt.Errorf("chart %q URL must be HTTP(S)", chartName)
}

and this error is produced:

warn time=2026-09-04T21:43:09.575Z level=WARN msg="failed to rewrite Helm index" repository=stakater error="chart \"konfigurator\" URL must be HTTP(S)"

It would be nice if it could automatically rewrite the URL if an OCI proxy is also configured already too.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions