chartmuseum icon indicating copy to clipboard operation
chartmuseum copied to clipboard

chartmuseum cannot server versions which differs in 'build metadata' x.y.z+<build-metadata>'

Open noam-toga opened this issue 4 years ago • 7 comments

So i have 2 versions of my helmchart called dnsutils in my chartmuseum output of helm search repo -l

NAME                      	CHART VERSION  	APP VERSION	DESCRIPTION                                       
chartmuseum/dnsutils            0.1.0                        1.3        	A Helm chart for Kubernetes                     
chartmuseum/dnsutils            0.1.0+1.abcdeff       1.3        	A Helm chart for Kubernetes

my simple requirements.yaml:

dependencies:
    - name: dnsutils
      version: "0.1.0+1.abcdeff"
      repository: "@chartmuseum"
      condition: dnsutils.enabled
      tags:
        - debug

now when i try to get the dependencies for that yaml with helm dep cmd - helm dependency update charts/workspaces/debug

i get the wrong version! i get dnsutils-0.1.0.tgz instead of dnsutils-0.1.0+1.abcdeff.tgz

output of the helm dep update directory -

noam@developer:~/work/omphalos$ ls charts/workspaces/debug/charts/
dnsutils-0.1.0.tgz

it's very easy to reproduce.

Let me know if i was understood this time And thanks again for the help Noam

Output of helm version: version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}

chartmuseum version: ChartMuseum version 0.11.0 (build 969515a)

noam-toga avatar Feb 12 '20 09:02 noam-toga

Same problem I do have.

Is allowing us to push packages with all kinds of version structure. But I can only list and use only folowing version structure:

  • x.x.x
  • x.x.x-SNAPSHOT

Please allow to use and list all pushed versions to repo.

arats-io avatar Mar 04 '20 17:03 arats-io

Hi there,

same problem here. I need to patch a upstream version of a helm chart and added a suffix to the version like x.y.z[-+]1.mybuild. After an upload to ChartMuseum is the (greatest) served version still the original x.y.z. Please sort the numbers e.g. like the classical "$ sort --version-sort" with the greatest as the top version (0).

$ echo -e "1.2.3+1.foo\n1.2.3" | sort --version-sort 1.2.3 1.2.3+1.foo

Regards Sascha

sagiru avatar Mar 11 '20 10:03 sagiru

This is extra bad because the delete feature is not removing the charts with non semantic versions from the index.

cfontes avatar Apr 01 '20 10:04 cfontes

@cfontes curl -X DELETE https://<museum_host>/api/charts/<name>/<non-semantic-version> just works for me. Maybe you should update your museum version to the latest release ?

scbizu avatar Apr 02 '20 02:04 scbizu

Hello, can people share example Chart.yaml files in these charts? It might be related to Helm 2 vs. Helm 3

jdolitsky avatar Apr 02 '20 03:04 jdolitsky

Specifically apiVersion

jdolitsky avatar Apr 02 '20 03:04 jdolitsky

@jdolitsky Hi , I try to reproduce this issue in my local museum , and find that the Chart with the build version (e.g.: 1.2.3+1.foo) is always list behind the primary version (e.g.: 1.2.3) even if the build version is uploaded after primary version . So, when we helm pull our chart , we will still get the old primary version (1.2.3 in this case), and we should specify the version through helm pull (e.g.: helm pull repo/mychart --version 1.2.3+1.foo) to get the build version chart if we want to get the latest Chart.

image

I am not familiar with Helm 2 and I use Helm 3 to reproduce it.

scbizu avatar May 19 '20 17:05 scbizu