Versi helm yang terpengaruh: v2.4.1
helm [install | fetch] <chart repo>/<chart>
gagal jika <chart>
terbaru dalam <chart repo>
memiliki versi "pra-rilis" -- yaitu, berisi nilai tambahan di luar, katakanlah v0.1.0
, seperti v0.1.0-alpha.1
atau v0.1.0-dev-sha.abc1234
.
Bekerja di v2.3.1
:
$ helm version
Client: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.3.1", GitCommit:"32562a3040bb5ca690339b9840b6f60f8ce25da4", GitTreeState:"clean"}
$ helm search -r workflow-dev
NAME VERSION DESCRIPTION
workflow-dev/workflow v2.13.1-dev-20170504190907-sha.3d6bbf9 Deis Workflow
$ helm fetch workflow-dev/workflow
$ ls
workflow-v2.13.1-dev-20170504190907-sha.3d6bbf9.tgz
Tidak bekerja di v2.4.1
:
$ helm version
Client: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.4.1", GitCommit:"46d9ea82e2c925186e1fc620a8320ce1314cbb02", GitTreeState:"clean"}
$ helm search -r workflow-dev
NAME VERSION DESCRIPTION
workflow-dev/workflow v2.13.1-dev-20170504190907-sha.3d6bbf9 Deis Workflow
...
$ helm fetch workflow-dev/workflow
Error: chart "workflow" not found in workflow-dev index. (try 'helm repo update'). No chart version found for workflow-
Namun, jika bagan terbaru dalam repo memiliki versi rilis 'resmi', bagan tersebut berhasil diambil di v2.4.1
:
$ helm search -r jenkins
NAME VERSION DESCRIPTION
stable/jenkins 0.6.2 Open source continuous integration server. It s..
$ helm fetch stable/jenkins
$ ls
jenkins-0.6.2.tgz
https://github.com/kubernetes/charts/issues/999 diajukan secara khusus untuk bagan stable/traefik
.
Memang, seperti yang kita lihat, bagan ini kebetulan memiliki sedikit info tambahan tentang string versi (versi lengkap: 1.2.1-a
, oleh karena itu menguatkan klaim masalah ini bahwa info tambahan (biasanya dianggap "pra-rilis") adalah melanggar pemasangan/pengambilan:
$ helm search -r traefik
NAME VERSION DESCRIPTION
stable/traefik 1.2.1-a A Traefik based Kubernetes ingress controller w...
$ helm fetch stable/traefik
Error: chart "traefik" not found in stable index. (try 'helm repo update'). No chart version found for traefik-
Namun, penting untuk dicatat (dan mungkin berguna dalam men-debug/menunjukkan masalah), jika versi bagan "pra-rilis" ditentukan secara eksplisit, itu dapat diinstal/diambil tanpa masalah. Melanjutkan dari atas:
$ helm fetch stable/traefik --version 1.2.1-a
$ ls
traefik-1.2.1-a.tgz
Alasannya adalah karena versi Traefik, menurut SemVer, adalah pra-rilis. Di Helm 2.4.1, kami memutuskan untuk tidak menginstal pra-rilis kecuali secara eksplisit diberikan versi. #2279
Solusinya adalah menjalankan sesuatu yang memungkinkan pra-rilis memenuhi kriteria rentang: helm fetch stable/traefik --debug --version=">1.0.0-a"
@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan. Kami berpikir mungkin --devel
@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan.
Memang, satu kasus penggunaan kami adalah untuk mencurahkan seluruh repo bagan ke bagan berversi _only_ 'unstable/dev/pre-release'. Ini memiliki manfaat untuk tidak 'meramaikan' repo bagan 'resmi' kami yang hanya berisi versi resmi.
Akan berguna untuk mempertahankan kemampuan untuk menarik bagan terbaru dari repo dev tersebut tanpa menentukan versi atau rentang versi apa pun (seperti yang dapat dilakukan di helm pra-2.4.x): helm install dev-chart-repo/dev-chart
, alih-alih entah bagaimana harus melacak versi dev-chart terbaru dan menyediakan rentang yang tepat melalui --version
.
Jika flag --devel
diperlukan untuk melakukan hal yang disebutkan di atas, itu tidak masalah.
Meskipun saya dapat memahami (agak) alasan di balik penolakan untuk memasang bagan "pra-rilis", saya tidak dapat melihat bagaimana itu berguna dengan fetch
.
Selain itu, pesan kesalahan saat ini menyesatkan dan menyebabkan pemborosan waktu.
Komentar yang paling membantu
Alasannya adalah karena versi Traefik, menurut SemVer, adalah pra-rilis. Di Helm 2.4.1, kami memutuskan untuk tidak menginstal pra-rilis kecuali secara eksplisit diberikan versi. #2279
Solusinya adalah menjalankan sesuatu yang memungkinkan pra-rilis memenuhi kriteria rentang:
helm fetch stable/traefik --debug --version=">1.0.0-a"
@vdice menyarankan kepada saya bahwa kami mungkin menambahkan tanda untuk memungkinkan paket yang tidak stabil memenuhi permintaan. Kami berpikir mungkin
--devel