ã€ã³ã¹ããŒã«ãšã¢ããã°ã¬ãŒãã®ãµããŒã--valuesãã©ã°ãšåæ§ã«ãhelmpackageã³ãã³ãã§ãåãããã«ãµããŒãããŠãã ããã
çµæã®ããã±ãŒãžã¢ãŒã«ã€ãã«ã¯ã-valuesãã©ã°ãä»ããŠæäŸãããå€ãã¡ã€ã«ãšããŒãžããã芪ãã£ãŒãã®å€ãã¡ã€ã«ãå«ãŸããŠããå¿ èŠããããŸãã
é¢é£ãããªã¯ãšã¹ãïŒïŒ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ãããã¯ã¢ãŠãããå¿ èŠãããããããããå床éããŸãã
ããã¯ãã¢ãŒã«ã€ãããã±ãŒãžã®ã³ã¡ã³ããªã©ã«ã©ã®ããã«åœ±é¿ããŸããïŒ äŸãã°ããããã¯å¥ãåãããŠããã®ãããããšãæŸã£ãŠããããŠããã®ãïŒ
çŸåšã yq
ã§åãããšãããããšããŠããŸãããåŠçåŸã«æçµå€ããã³ãããã ãã§ãã ã€ãŸãããã¹ãŠã®ã³ã¡ã³ããçµç¹ã®ç©ºçœè¡ãªã©ããªããªããŸããã
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ã®æ¢åã®ã¡ã³ãããŒãšååããŠããããžã§ã¯ãããµããŒããããããããžã§ã¯ãããã©ãŒã¯ããããã³ã¡ã³ããä¿åã§ããæ°ããã©ã€ãã©ãªãèŠã€ãããããããšãããšããªãæ°ããã¡ã³ãããŒã®ã»ãããèŠã€ããããšãæ€èšããããšããå§ãããŸãã
ããã§ãããã¯äœã§ããããïŒ
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ãèšå®ããå¿ èŠããããŸã
ãã®æ©èœã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ
æãåèã«ãªãã³ã¡ã³ã
ç§ãéããåé¡ïŒïŒ3198ïŒã«ã¯ã次ã®ãããªåªãããŠãŒã¹ã±ãŒã¹ãèšèŒãããŠããŸãã
helm package --version 1.2.3 --set image.tag 1.2.3
ãã®ããã«ããã£ãŒãããŒãžã§ã³ãšDockerã€ã¡ãŒãžããŒãžã§ã³ã¯åãã§ãã