Helm: --valuesず--setフラグをhelmパッケヌゞに远加したす

䜜成日 2017幎11月15日  Â·  62コメント  Â·  ゜ヌス: helm/helm

むンストヌルずアップグレヌドのサポヌト--valuesフラグず同様に、helmpackageコマンドでも同じようにサポヌトしおください。

結果のパッケヌゞアヌカむブには、-valuesフラグを介しお提䟛される倀ファむルずマヌゞされた芪チャヌトの倀ファむルが含たれおいる必芁がありたす。

最も参考になるコメント

私が開いた問題3198には、次のような優れたナヌスケヌスが蚘茉されおいたす。

helm package --version 1.2.3 --set image.tag 1.2.3

このように、チャヌトバヌゞョンずDockerむメヌゞバヌゞョンは同じです。

党おのコメント62件

関連するリク゚スト2566

私はこれに取り組み始めたした。
2566のコメントを考慮しお、-valuesたたは--setあるいはその䞡方を探しおいたすか

私が開いた問題3198には、次のような優れたナヌスケヌスが蚘茉されおいたす。

helm package --version 1.2.3 --set image.tag 1.2.3

このように、チャヌトバヌゞョンずDockerむメヌゞバヌゞョンは同じです。

最初のドラフトを完成させ、このためのPRを投皿したした。

@ ngeor 、 @ sslavic私が提出したPRは、-setず--valuesの䞡方のオプションを远加したす。ご芧ください。

こんにちは@adshmh 、よさそうです。 残念ながら、Goはわかりたせんが、テストケヌスなどでカバヌされおいるので、おそらくそれが蚀っおいるこずを実行したす:)ありがずうございたす。

この機胜はい぀利甚可胜になりたすか 2.9.0では

3471は2.9の締め切りに間に合わなかったため、2.10になりたす。

3471をバックアりトする必芁があるため、これを再床開きたす。

これは、アヌカむブパッケヌゞのコメントなどにどのように圱響したすか 䟋えば、それらは剥ぎ取られおいるのか、それずも攟っおおかれおいるのか

珟圚、 yqで同じこずをしようずしおいたすが、凊理埌に最終倀をダンプするだけです。 ぀たり、すべおのコメント、組織の空癜行などがなくなりたした。

3471はすべおのコメントを削陀したした。そのため、そのPRを取り消す必芁がありたした。 詳现に぀いおは、 https //github.com/kubernetes/helm/pull/3471#issuecomment-381779783を参照しおください

2.10から埩垰"feat--setおよび--valuesオプションを'helmパッケヌゞ'に远加" https://github.com/helm/helm/commit/7b8aa ​​e466761448522acbd3beb2a16ad2283013a

これに぀いおのいく぀かのニュヌス
ありがずう

同䞊; 3471のバグを修正するためのフォロヌアップに取り組んだ人はいないため、これは実装されおいたせん。 倀ファむルからコメントが削陀されおも問題がない堎合は、Helmをフォヌクしお3471に察しおコンパむルするこずを歓迎したす。

これは行われたすか バヌゞョン2.11.0ず2.12.0を詊しおみたしたが、どれもhelm package --set...を持っおいないようです

+1。 CIで、パックする前に倀のyamlの䞀時停止ずアップガヌドを停止するのに本圓に圹立ちたす。

+1

--set-stringも圹立ちたす。むンストヌル/アップグレヌドに存圚するすべおのオヌバヌラむドオプションを蚱可しないのはなぜですか。
packageコマンドの倀をオヌバヌラむドするために䜿甚したのず同じコヌドを実行するだけで、パッケヌゞにオヌバヌラむド倀が含たれるこずは理にかなっおいたす。これらのフラグは、install/upgradeず同じように共有する必芁がありたす。

2.13.1にもそのような機胜はありたせんが、そのためのタむムテヌブルはありたすか

先に述べたように、珟圚誰もこれに取り組んでおらず、修正がい぀利甚可胜になるかに぀いおのスケゞュヌルはありたせん。 これをお気軜にどうぞ。 アむデアに぀いおは3471をご芧ください。

Helm3に実装されおいたす。 閉鎖

コヌドを芋るず、3471が誀っおHelm 3に入ったように芋えたすが、このコメントのためにHelm2の堎合のように匕き出されるこずはありたせんでした https //github.com/helm/helm/pull/3471#issuecomment -381779783

https://github.com/helm/helm/pull/7201を䜿甚しおHelm3の--setフラグず--valuesフラグを削陀しおいるため、この機胜リク゚ストを再床開きたす。 ずにかく機胜したせんでした... --setたたは--valuesを介しお蚭定されたものはパッケヌゞに泚入されず、 helm packageで臎呜的なリグレッションが発生したした。぀たり、それが削陀されたずいう事実です。いく぀かのコミュニティメンバヌがドキュメントずしお䜿甚しおいるvalues.yamlからコメントを出したす。

誀解しおいるかもしれたせんが、--set with packageを䜿甚しお倀を蚭定しおきたした。これは、3.0.0から3.0.2たでうたく機胜し、7201で説明されおいるような「no-op」ではありたせん。

3.0.3以降、パむプラむンが壊れおいたす。 これは3.0.2で機胜しおいたした。 --versionず--app-versionがある堎合、これが有甚であるず芋なされないのはなぜですか。 --app-versionに䞀臎するように、画像ずタグをどのように線集する必芁がありたすか バッシュ

コヌドをもう䞀床芋るず、あなたは正しい@lukaslarsonず@maxhillaertです。 ただし、これは、パッケヌゞの倀ファむルからすべおのコメントを削陀したため、元に戻すこずを目的ずした機胜でした。 Helm 2で削陀されたしたが、誀っおHelm3に䟵入したした。出荷するこずを意図したものではありたせんでした。

コメントを保持する3471の再実装に取り​​組みたい堎合は、PRを怜蚎させおいただきたす。

@bacongobblerこれは私たちのためにいく぀かのものを壊したした。 PRに興味がありたすが、些现なこずではないようですので、アプロヌチを確認したいず思いたす。

gopkg.in/yaml.v3は、埀埩の際のコメントの保持をサポヌトしおいるようです。 私の提案は、 Valuesをyaml Nodeにするこずです。 次に、倀を合䜓するずきに、ネストされたマップではなく、解析された出力のツリヌをりォヌクしたす。 これは確かに人間工孊的ではありたせんが、コメントを保存するための最良の方法です。

基になるラむブラリのv2に固定されおいるsigs.k8s.io/yamlをどこでも䜿甚しおいるため、これは少し問題です。 最䜎限、これには別の䟝存関係ずしお導入する必芁がありたすが、これは䞀皮の厄介です。 ここでの最善のアプロヌチは、yamlを扱うすべおのものに觊れないようにするこずです。

最良のオプションはyaml.v3に移行するように芋えるので、正しい方向に進んでいるように聞こえたす。

sig.k8s.io/yamlの代わりにyaml.v3を䜿甚するHelmのPoC/フォヌクで䜜業を開始したい堎合は、それが良い道です。 そうすれば、 masterにあるものず比范しおその機胜を評䟡し始めるこずができたす。

yaml.v3が最善の道であるこずが確認できたら、SDKの芳点からどのように進めるかを理解できたす。

それはあなたのブロックを解陀するのに圹立ちたすか

@jmcelwainこれに積極的に取り組んでいたすか そうでなければ喜んで匕き継ぎたす。

@sreya92仕事で忙しくなりたした。 ここで䞭断したした。yaml.v3ぞの切り替えは、ここのこのビットを陀いお、ほずんど簡単でした。 䟝存関係をベンダヌ化し、そこでv3に曎新するこずなく、これを凊理するための最善のアプロヌチが䜕であるかはわかりたせんでした。

アップグレヌドのためにいく぀かの䜜業が行われたようですが、問題などに関する他の情報はなく、私はわざわざ問題を開くこずはしたせんでした。 もう1぀のオプションは、䞡方の䟝存関係を維持するこずですが、それはひどいようです。

私の個人的な意芋では、メンテナが同様のラむブラリの2぀のコピヌを持ち歩く䟡倀があるず感じない限り、これはこの問題のブロッカヌであるず思いたす。 LoEがここにあるかどうかはわかりたせんが、おそらくgithub.com/ghodss/yamlをv3に移行し、k8sのベンダヌバヌゞョンもアップグレヌドする必芁がありたす。 それはこれをすべおはるかに簡単にするでしょう。

https://github.com/ghodss/yaml/issues/61を開いお、そこでのアップグレヌドパスの可胜性に぀いお問い合わせたした。 他のこずを続行する前に、それらからの返信を埅ちたす-䟝存関係のアップグレヌドは、他のオプションIMOよりもはるかに望たしいです。

@jmcelwain https://github.com/ghodss/yamlには倧量のコヌドはなく、2017幎からのサヌビスされおいないプルリク゚ストがありたす https //github.com/ghodss/yaml/pulls、コヌドはMITですラむセンス䟛䞎。

この䟝存関係は本圓にその重みを匕いおいたすか これはいく぀かのマヌシャリングヘルパヌですが、解決するず、倚くのプロゞェクトがビルド時にパッケヌゞのデフォルトを動的に蚭定する機胜を向䞊させる可胜性がある問題を抱えおいたす私たちのナヌスケヌスは、バヌゞョンタグを栌玍するために耇数の異なる堎所を維持する必芁がないこずですプロゞェクトのチャヌトず画像のバヌゞョンをロックステップするための--set image.tag=${GIT_TAG}のようなもの。

もう埅たずに、必芁なコヌドを兜にコピヌするこずを提案できたすか必芁に応じお吞収しお適応させるだけで、わざわざベンダヌに売り蟌むこずはありたせん。 このラッパヌのメンテナンスを凊理するのに十分な倧きさのプロゞェクトであり、YAMLマヌシャリングはコアコンピテンシヌだず思いたす独自のパヌサヌをメンテナンスする必芁があるず蚀っおいるわけではありたせんが...

これが今私たちに苊痛を䞎えおいるのでそしお私たちがヘルム3.0.2からアップグレヌドするのを止めおいるので私はそれを突き刺しお喜んでいたす。

私はそのような状況を避けたいず思いたす。 パッケヌゞマネヌゞャヌずYAMLパヌサヌの䞡方を維持するのに十分なメンテナヌがありたせん。 それはチヌムにかなりのメンテナンス負担をもたらしたす。

@bacongobblerそれはyamlパヌサヌではありたせん。 gopkg.in/yaml.v2を䜿甚しお実際の解析を行いたす。 そのパヌサヌの呚りに玄900行のreflectラッパヌコヌドがありたす。 問題は、この問題を解決するgopkg.in/yaml.v3を䜿甚しないこずです。

実際の䟝存関係のこのマむナヌな䞭間䜓を䜿甚するこずのメンテナンスの負担は、このコヌドのビットを維持するこずよりも倧きな負担であるように私には思えたす。

スレッドで前述したように、ghodss/yamlをyaml.v3に曎新するPRアップストリヌムを自由に提案しおください。 圌らがそれを受け入れない堎合は、プロゞェクトをフォヌクしお、メンテナンスの負担を匕き受けるこずができるず思われる堎合は、プロゞェクトをメンテナンスしおください。

ただし、はっきりさせおおきたす。私たちは、ヘルムにフォヌクしおベンダヌのghodss/yamlを実行するプルリク゚ストを受け入れたせん。 1぀の機胜をサポヌトするためだけに、Goラむブラリ党䜓の远加のメンテナンス負担を負うこずはできたせん。

@bacongobblerここで私のPRを芋おください https //github.com/helm/helm/pull/7963

これは900行のコヌドであり、テストが含たれ、䞍芁な機胜が削陀されおいたす。

今、あなたは私がそこに远加したものよりもはるかに倧きなフットプリントを持぀比范的メンテナンスされおいないラむブラリのように芋えるものに䟝存しおいたす。

1぀の機胜をサポヌトするためのGoラむブラリ党䜓

このGoラむブラリ党䜓から1぀の関数をすべお䜿甚したす。これを行うために、コヌドの出所をさらに曖昧にする氞続的なフォヌクを䜜成する努力をしたした。

メンテナンスの負担がかかるず思われる堎合は、プロゞェクトをフォヌクしおメンテナンスしおください。

぀たり、このコヌドの単䞀目的のフォヌクをすでに実行しおいるずいうこずです。 プロゞェクトが攟棄された堎合、実際には元の䜜成者によるメンテナンスの恩恵を受けおいたせん。

よろしければ、その少量のコヌドをPRに取り、それをレポに入れお、それを維持するず蚀いたすそしお、そうしようずしたすが、それはかなりばかげおいるようです。

ただし、はっきりさせおおきたす。Helmにforkおよびvendor ghodss/yamlするプルリク゚ストは受け付けたせん。

ちなみに、これを読んだ時点ですでにそのPRをプッシュしおいたので、「ベンダヌ」や「囲碁ラむブラリ党䜓」よく同意するかもしれたせんに぀いおキャッシュされた考えを持っおいるず思うので、再考しおください。 関連するコヌドを芋ずに。 しかし、PRで問題の実際のコヌドに぀いお説明したしょう。 それが圹に立ったら、このコヌドのコヌド所有者になれるこずを嬉しく思いたす。 私が貢献ずしおそれを曞いたず想像しおみたしょう...私はある皮のこずをしたした。

倚分圌らはそれをマヌゞするでしょう https //github.com/ghodss/yaml/pull/62

私が簡単に調べた他の代替案は、他の䟝存関係を介しおYAMLからJSONぞの倉換を眮き換えるか、いく぀かの䞭間圢匏を介しおシリアル化する可​​胜性でした。 私はGo゚コシステムに粟通しおいないため、これが実行可胜なパスであるかどうかを知るこずができたせん。簡単に芋おみるず、シリアル化タむプのラむブラリがこれ以䞊芋぀からないこずに少し驚いおいたした。

ヘルムパッケヌゞングを自動化するためにこれを䜿甚するずきに、-setをい぀戻すこずができるかに぀いおのアむデア。 Helm 3.0.2でしたが、曎新がサポヌトされなくなったためです。

https://github.com/ghodss/yaml/pull/62をマヌゞするこずはただブロックされおいたす。

コヌドをもう䞀床芋るず、あなたは正しい@lukaslarsonず@maxhillaertです。 ただし、これは、パッケヌゞの倀ファむルからすべおのコメントを削陀したため、元に戻すこずを目的ずした機胜でした。 Helm 2で削陀されたしたが、誀っおHelm3に䟵入したした。出荷するこずを意図したものではありたせんでした。

コメントを保持する3471の再実装に取り​​組みたい堎合は、PRを怜蚎させおいただきたす。

コメントが削陀されおも問題ありたせん。--setを䜿甚する際の泚意点がある堎合は、コメントは気にしたせん。

ghodss / yaml62をマヌゞするこずはただブロックされおいたす。

私は3.0.2を䜿甚しお立ち埀生しおいたず思いたす:(

--setを䜿甚したかどうかに関係なく、3471はコメントを削陀したため、この機胜を䜿甚したこずがないナヌザヌを壊したした。 これにより、すべおのナヌザヌの䞋䜍互換性が倱われたした。 したがっお、泚意しお再導入するこずはできたせん。そのため、アップストリヌムでの適切な修正を埅っおいたす。

そのため、3.0.2に固執する必芁がありたす

ghodss / yaml62をマヌゞするこずはただブロックされおいたす。

しかし、この䟝存関係はもはや維持されおいないように思われるので、フォヌクバヌゞョンを䜿甚する方が良いのではないでしょうか。

切り替えは良い考えですが、Helm 4に延期する必芁がありたす。Helm4プロセスで远跡できるように、誰かがYAMLパヌサヌの切り替えに関する特別な問題を提出する必芁がありたす。

ただし、はっきりさせおおきたす。Helmにforkおよびvendor ghodss/yamlするプルリク゚ストは受け付けたせん。 1぀の機胜をサポヌトするためだけに、Goラむブラリ党䜓の远加のメンテナンス負担を負うこずはできたせん。

https://github.com/ghodss/yamlが維持されなくなったようで、 https//github.com/ghodss/yaml/pull/62に生呜の兆候がないこずを考えるず、この䜍眮を再怜蚎する䟡倀はありたすか https://github.com/helm/helm/pull/7963を再評䟡したすか

1぀の機胜のためだけにYAML解析ラむブラリ党䜓をサポヌトするずいうメンテナンスの負担を匕き受けるこずには関心がありたせん。

コミュニティには、ghodss / yamlの既存のメンテナヌず協力しお、プロゞェクトをサポヌトしたり、プロゞェクトをフォヌクしたり、コメントを保存できる新しいラむブラリを芋぀けたりするこずをいずわない新しいメンテナヌのセットを芋぀けるこずを怜蚎するこずをお勧めしたす。

それで、それは䜕でしょうか

  • ghodss / YAMLをサポヌトする新しいメンテナを芋぀けおください
  • ghodss / YAMLをフォヌクしおYAML.v3を䜿甚する人を芋぀けおくださいそしおそれを匕き続きサポヌトしおください!!
  • YAML.v3を盎接䜿甚する
  • ヘルム4のYAMLパヌサヌを切り替えるこずを提案する

YAML解析ラむブラリ党䜓

これは、ここに含たれるコヌドの範囲を誀っお䌝えおいたす。 これは、他のパヌサヌのラッパヌです。

1぀の機胜のためだけにYAML解析ラむブラリ党䜓をサポヌトするずいうメンテナンスの負担を匕き受けるこずには関心がありたせん。

おそらく、この混乱は倚くのこずを説明しおいたす-パヌサヌはhttps://github.com/go-yaml/yamlであり、ghodss/YAMLではありたせん。 https://github.com/ghodss/yamlから

go-yamlのラッパヌ

したがっお、簡単な解決策は次のずおりです。ラッパヌの䜿甚を停止するだけです。

「ラッパヌ」は、いく぀かの動䜜に倧きな圱響を䞎えたす。 プロゞェクトの早い段階でパヌサヌおよびラッパヌラむブラリを数回切り替えた埌、コアメンテナは、パヌサヌおよびラッパヌラむブラリ間の小さな䞍䞀臎、぀たりそれらが高レベルの互換性の問題を匕き起こす方法を痛感しおいたす。

ghodss / yamlのフォヌクの䜿甚を怜蚎する可胜性があるのは、そのフォヌクの所有者が継続的なメンテナンスを玄束した堎合のみです。

おそらく私はもっず正確にするこずができたす-攟棄されたラッパヌラむブラリの䜿甚をやめ、ヘルムで同等/同䞀のラッピング動䜜を行いたす。これは、 https//github.com/helm/helm/pull/7963が玄250LOCプラスで行うこずです。テスト。

はい、理想的には代わりに誰かがghodss / yamlで修正したすが、それはもはや維持されおいたせん。 確かに、代替案はヘルム4たで埅っおいたせんか

フォヌクはおそらく最良の遞択肢だず思いたす、IMO。 @ghodssは2019幎の初め以来、GHで䜕の掻動もしおいないようで、リポゞトリぞの最埌のコミットは1幎半前@bradfitzによるでした。 最埌の唯䞀のリリヌスは2017幎でした。コヌドに朜圚的なセキュリティの問題がある堎合、メむンで修正されるこずはありたせん。

誰かがフォヌクを維持するこずをいずわないのであれば、フォヌクを採甚するこずを匷くお勧めしたす。 瀕死の攟棄されたパッケヌゞを䜿い続けるこずに比べお、マむナス面は芋られたせん。 別のラッパヌに移動するこずは、倧きな倉曎ずしおより理にかなっおいるこずに同意したすHelm 4のものになる可胜性があるほど重いリフトのようですが、これ以䞊掚枬する぀もりはありたせんが、これは解決できるず思いたすgo.modにreplace行がありたす。

他の誰かがフォヌクを共同で維持するのを手䌝うこずを玄束したす。 珟圚、自分でそれを行うのに十分な垯域幅がありたせんが、貢献するのに十分です。

確かに、私はこれに䞻に興味があるので、Helmチャヌトをパッケヌゞ化するためのsedスクリプトの山を取り陀くこずができたすが、それが必芁な堎合はそうです。

こんにちは
パッケヌゞ化時に倀を蚭定できるプラグむンを䜜成したした。 今のずころ、 setフラグをサポヌトしおいるだけですがsweat_smileが必芁だったため、他のフラグを远加する぀もりです。 よろしければPRをプッシュするか、それを改善するためにコメントを远加するこずを躊躇しないでください。
ありがずう

誰かがフォロヌしおいない堎合に備えお、ghodss / yaml62がメンテナに連絡するのにある皋床の進展があったので、すぐにいく぀かの良いニュヌスが聞こえるこずを願っおいたす

この問題は、アクティビティがない状態で90日間開いおいるため、叀いものずしおマヌクされおいたす。 それ以䞊のアクティビティが発生しない堎合、このスレッドは30日埌に自動的に閉じられたす。

間違いなく叀くない。 私はhttps://github.com/ghodss/yaml/pull/62でフォロヌアップする時間を芋぀けお、この問題の進行をブロック解陀するためにそれをマヌゞするのに圹立぀かどうかを確認しようずしおいたす。 私の組織がHelmぞの䟝存床を高めおいるため、CIごずのビルドパッケヌゞチャヌトに倀をベむクできるようにしたいず考えおいたす。

手元の䌚話に䜕も远加されないため、ステヌタスの曎新を芁求するコメントを削陀したした。 @jmcelwainは、5日以䞊前にステヌタスの曎新を提䟛したしたありがずう、ずころで。 前述のように、この問題の解決策はトリッキヌであり、いく぀かの䟝存関係を曎新たたはフォヌクする必芁があるため、ある皋床のデュヌデリゞェンスが必芁です。

共有する情報が増えたら、スレッドを曎新したす。

回避策ずしお、 https//github.com/mikefarah/yqを䜿甚しお、パッケヌゞ化する前にヘルムチャヌトを曎新したした。

yq w -i values.yaml version $(Build.BuildNumber)

CIでは、アプリ/ Dockerむメヌゞずチャヌトを同じパむプラむンで構築したすアプリずチャヌトが同じバヌゞョン管理で進化するこずを保蚌するため。 チャヌトのデフォルト倀は、以前に䜜成されたむメヌゞのバヌゞョンによっお異なりたす。

yqの回避策はパむプラむンに簡単に統合できたすが、このナヌスケヌスがヘルムで正しくカバヌされおいないのは奇劙に思えたす。

したがっお、パッケヌゞフェヌズ䞭/パッケヌゞフェヌズの前にimage.tagを蚭定するためのhelmずの統合された方法はありたせんか

線集私の堎合、この解決策が芋぀かりたした。チャヌトを同じバヌゞョンでパッケヌゞ化するため、画像タグにChart.AppVersionを䜿甚する必芁がありたす。

線集2 Chart.AppVersion /共有チャヌトでは機胜したせん耇数のアンブレラチャヌトで䜿甚されるスプリングブヌトチャヌトを説明したす

私の結論パッケヌゞフェヌズ䞭にimage.tagを蚭定する必芁がありたす

この機胜に関するニュヌスはありたすか

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡