Skip to content

Helmfile fails with the version for OCI charts should be semver compliant, the latest tag is not supported anymore for helm >= 3.8.0 #2247

Description

@patrickjane

Operating system

macOS 26.1

Helmfile Version

1.1.3

Helm Version

3.18.4

Bug description

Duplicate of #1541
I would have commented there, but the issue is closed+locked. Therefore I am duplicating the original bug description as well, since I am facing the same issue.

If I omitted the chart version from my helmfile, it fails with the version for OCI charts should be semver compliant, the latest tag is not supported anymore for helm >= 3.8.0.

According to Helm docs, I expect this to pull the latest stable version of the chart from the OCI registry: https://helm.sh/docs/helm/helm_install/
This doesn't seem to be an issue for non-OCI repositories.
Example helmfile.yaml

releases:
  - name: foo
    chart: oci://registry/chart

Now the question I have is, why does helmfile not complain when ^1.0.0 is given as version, but it does not when no version is given at all? A regular helm install xxx oci:://... without any version will work just fine. Why does helmfile not allow this?

I know of the limitation that versions cannot be easily queried in an OCI registry, since I happen to have implemented this myself in a deployment tool we are using, but I am wondering 1) at what point does helmfile need this information 2) why does it work with ^1.0.0?

If I put a non-existing ^3.0.0, the apply will fail because the helm command will fail. This indicates to me that helmfile itself does not need the actual version beforehand, and restricts this without any real reason, so just putting anything under version will make it work.

In fact, this will prevent the overall usage of helmfile in our company, which I have been working on for weeks. The last part of this was to migrate our helm charts to OCI storage, and I have just now discovered that helmfile wont allow empty versions (for seemingly no reason).
Please don't suggest sticking with helm repositories as this is not an option for us.
In our deployment process we need the functionality of deploying a number of charts without giving a version, so that the most recent version must be deployed. This is a crucial part of our pipeline.

Example helmfile.yaml

releases:

  • name: foo
    chart: oci://registry/chart

Error message you've seen (if any)

the version for OCI charts should be semver compliant, the latest tag is not supported anymore for helm >= 3.8.0

Steps to reproduce

See example helmfile

Working Helmfile Version

0.162.0

Relevant discussion

#1541

Metadata

Metadata

Assignees

No one assigned

    Labels

    wontfixThis will not be worked on

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions