helm install --set tag=20161216
ãããªãã®ããã³ãã¬ãŒãã®ç§åŠçèšæ°æ³ã§çµããããšã«æ°ã¥ããŸãããããã¯ã {{ typeOf .Value.tag }}
ãfloat64
ã§ãã
ããã¯ã helm install --set tag=1
-> float64
ãããªå°ããªæŽæ°ã«ãåœãŠã¯ãŸããŸãã
ããã¯ãã«ã 2.1.0ã§èµ·ãã£ãŠããŸã
--set tag=\"1\"
ãå®è¡ãããšãåäœãç°ãªããŸããïŒ
@chancezã®ãããã§ãæ£ç¢ºãªåé¡ãããããŸããã ghodss/yaml
ã«ãã£ãŠè¡ãããJSONãšã®éã®å€æäžã«ãJavascriptã®æ°å€åãè¡šãæŽæ°ãfloat64ã«ãã£ã¹ããããŸãã ããã«ãããç¹å®ã®å€ãè¶
ãããã¹ãŠã®æŽæ°ãç§åŠçèšæ°æ³ã§è¡šãããŸãã
ç§ã¯åãåé¡ã«åãŸããŠããŸããã ãã¶ïŒãŸãã¯ãã°ïŒãä¹ãè¶ããæ¹æ³ã¯ããããè¡ãããšã§ãïŒ
--set bignumber=\\"a185576882739235744\\"
ç§ãã¡ã䜿çšããå¥ã®åé¿çã¯ã次ã®ãããªããšãè¡ãããšã§ãã
--set port=":1234567"
次ã«ããã³ãã¬ãŒãã§ïŒ
{{ .Values.port | replace ":" "" }}
ããïŒ ð·
ããã¯å€§å€ãªèŠçã§ããã
ç§ã¯ãŸã èªåã®ãã©ã€ãã飲ã¿èŸŒãã§@technosophosã®éãããã¯ãè©ŠããŠã¿ã
ä»ã®ãšããããããã€ã¹ã¯ãªãããæ¡åŒµããŠãããŒã¿ãyamlãšããŠäžæãã¡ã€ã«ã«æžã蟌ã¿ãããã-f
åŒæ°ãšããŠäœ¿çšããããšã§ãããããããã³ã°ããŠããŸãã
ç»åã¿ã°ã«ã€ããŠãåãåé¡ãçºçããããšããããŸãã
ãããã®åé¿çã®1ã€ã䜿çšããŠã¿ãŸãã ç§ã¯ãããããã«ä¿®æ£ãããããšãé¡ã£ãŠããŸã:)
ç§ã®å Žåã以äžã®--set image.tag=5997578
ãããèŠãŠãã ããïŒ
$ kubetctl describe po msj-treasure-map-msj-treasure-map-192172122-dnb80
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 1m default-scheduler Successfully assigned msj-treasure-map-msj-treasure-map-192172122-dnb80 to ip-10-253-13-113.ec2.internal
Warning InspectFailed 15s (x9 over 1m) kubelet, ip-10-253-13-113.ec2.internal Failed to apply default image tag "596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-uwsgi:5.997578e+06": couldn't parse image reference "596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-uwsgi:5.997578e+06": invalid reference format
Warning InspectFailed 15s (x9 over 1m) kubelet, ip-10-253-13-113.ec2.internal Failed to apply default image tag "596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-nginx:5.997578e+06": couldn't parse image reference "596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-nginx:5.997578e+06": invalid reference format
Warning FailedSync 15s (x9 over 1m) kubelet, ip-10-253-13-113.ec2.internal Error syncing pod, skipping: [failed to "StartContainer" for "msj-treasure-map-uwsgi" with InvalidImageName: "Failed to apply default image tag \"596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-uwsgi:5.997578e+06\": couldn't parse image reference \"596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-uwsgi:5.997578e+06\": invalid reference format"
, failed to "StartContainer" for "msj-treasure-map-nginx" with InvalidImageName: "Failed to apply default image tag \"596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-nginx:5.997578e+06\": couldn't parse image reference \"596297932419.dkr.ecr.us-east-1.amazonaws.com/msj-trmap-nginx:5.997578e+06\": invalid reference format"
$ helm version
Client: &version.Version{SemVer:"v2.5.1", GitCommit:"7cf31e8d9a026287041bae077b09165be247ae66", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.5.1", GitCommit:"7cf31e8d9a026287041bae077b09165be247ae66", GitTreeState:"clean"}
ãã«ã 2.6.2ã§ãåãåé¡ãçºçããŠããŸãã
Client: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
YAMLãJSONã«å解ãããšãã»ãšãã©ã®ã¿ã€ãã«é¢é£ããå€ãã®æ å ±ãåé€ãããŸãã ãããã€åã«ãã§ãã¯å€ãå ¥åã§ããªãããšãæå³ããŸãã
ããã¯å¥ã®yamlã©ã€ãã©ãªã«ç§»åããããšã§è§£æ±ºã§ãããšæããŸãã å€åããïŒ https ïŒ
ä»æ¥ãã®åé¡ã«èŠããã§ããéãç§ã¯toString
ãã£ã«ã¿ãŒããããå©ããããšãã§ããããšãçºèŠããŸããïŒ
dockerPort: {{ .Values.dockerPort | toString }}
次ã«ãã³ãã³ãã©ã€ã³ïŒ --set dockerPort=2376
ïŒã§ããŒããæž¡ããŠãæ£ãã解éãããããšãã§ããŸããã
ããã¯2.7.2ã§èŠãã°ããã§ããã¹ãŠã®--set
ãªãã·ã§ã³ãããŒã«ã«ãã¡ã€ã«ã«æžã蟌ã¿ããããhelm -f locals.yml
çµç±ã§æž¡ãããšãé€ããŠãã»ãšãã©ã®åé¿çã¯å®éã«ã¯æ©èœããŸããã
ç§ã¯ããã2.7.2ã§ãèŠãŸããïŒãããŠçµæãšããŠïŒ3246ãæåºããŸããïŒã®ã§ããã®åé¡ã«ã€ããŠ+1ããŸãã https://github.com/kubernetes/helm/issues/3001ã®ããã«ãDockerã€ã¡ãŒãžã¿ã°ã«ãgitSHAã䜿çšããŠããŸããã ä»ã®ãšããç§ã®åé¿çã§ããFWIWã¯ãç»åã¿ã°ã«-gitsha
æ¥å°ŸèŸãä»ããããšã§ãã
ç§ã+1ã
$ helm version â
Client: &version.Version{SemVer:"v2.7.2", GitCommit:"8478fb4fc723885b155c924d1c8c410b7a9444e6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.7.2", GitCommit:"8478fb4fc723885b155c924d1c8c410b7a9444e6", GitTreeState:"clean"}
$ git rev-parse --short HEAD
6180689
$ helm upgrade foobar \
-i charts/foobar \
--set image.tag=$(git rev-parse --short HEAD) \
--reuse-values
ãããã€åŸãç§ã¯ãããååŸããŸãïŒ
Failed to apply default image tag "gcr.io/foobar/foobar:6.180689e+06": couldn't parse image reference "gcr.io/foobar/foobar:6.180689e+06": invalid reference format
Error syncing pod
ç§ã¯ãŸããååŸInvalidImageName
å®è¡ããŠããæã«kubectl get pods
ã
| toString
è¿œå ããŠããç§ã«ã¯éãããªãããã§ãã
ããªãã¯ãã ããããšãã§ããŸãïŒ
{{ .Values.tag | int64 }}
ãã£ãŒãã®@laveriteã¯çµ¶å¯Ÿã§ãããããã¯--setããŒãµãŒã䜿çšããŠããŸãã ãã®åé¡ã¯ã-setããŒãµãŒã«ã®ã¿ååšããŸãã values.yamlãä»ããŠæž¡ãããå€ã¯æ£ãã解æãããŸãã :)
ããã¯ïŒ3155ã«é¢é£ããŠããããã§ã
ãããããä¿¡ããŠ
ãã«ã 2.8.0ã§ãåãåé¡ãçºçããŸãã
@bacongobblerãŸãã¯@ technosophos ïŒ3599ã§ãã®åé¡ã®ä¿®æ£ããããŸãããã§ã«æ¿èªããããå¥ã®æ¿èªãå¿ èŠã§ãã ããããšãïŒ
ïŒ3599ã§è§£æ±º
pingãããããšã@ arturo-c :)
Helm2.9.1ã§ããã®ãã°ã確èª
ãªãhelm lint
ãããããã£ããããªãã®ã ãããïŒ ïŒ4099ãåç
§
--set
æãããªãã°ãšæããããã®ãä¿®æ£ãã代ããã«ã --set-string
è¿œå ããããšã§ããã解決ãããçç±ã«èå³ããããŸãã
yamlãã¡ã€ã«ã§æ°å€ãç§åŠçèšæ°æ³ã«åŒ·å¶ããããšãæå³ããŠãã人ã¯ããå¯èœæ§ããããŸããïŒ
2ã€ã®åèªïŒäžäœäºææ§:)
--set
ããŒãµãŒãHelm 3ã§åŒ·å¶ããæ¹æ³ãå€æŽã§ããŸãããäžè¬çã«èšã£ãŠãHelmãå®è¡ããŠãããŠãŒã¶ãŒãéåžžã«å€ãããã --set
ãªã©ã®ã³ã¢æ©èœã®äºæ³ãããåäœãå€æŽãããªãããã«ããŸãããçç£äžã ãŸãã --set
ãã¹ãŠã®å€ãæååã«åŒ·å¶å€æããããšã¯ã§ããŸãããããã¯ãå€ãã¡ã€ã«ã®nullå€ãçã®å€ã«é¢ããæåŸ
ãããåäœãªã©ã®æ¢åã®åäœãå£ãããã --set-string
ãå®è¡å¯èœãšããŠåãå
¥ããããããã§ãããšãããã解決çã
äžäœäºææ§ïŒ åãªããWTFãã§ãããå€ãã®äººããããæãã§ããªãããŸãã¯äœ¿çšããŠããªãå¯èœæ§ãé«ãæ©èœã«ã€ããŠã¯ã©ãã§ããããã éçºãé²ãã§ããŠãå®éã«ã¯åºãæ¡çšãããŠããªãããŒã«ã§ã¯ïŒ æ¬åœã«é ããªãåã«ããããåèããŠä¿®æ£ããããšããå§ãããŸãã
@technosophosããããšãã
äŸïŒ
kind: Secret
data:
some_db_port: {{ .Values.dbInfo.db_port | replace ":" "" | b64enc }}
ããã¯ç§ã®ããã«åããŠããŸãã
@OndraZizka ïŒéåžžã«æ
ç±çãªïŒãã£ãŒãããã¯ãããããšãããããŸãã --set
ããŒãµãŒãHelm 3ã«å¯ŸããŠæã€ãããã®äžå®å®ãªåäœã®åé¡ã®ããã€ãã«å¯ŸåŠããããšã確å®ã«æ€èšããŠããŸãããããããæ°ãã--set-string
ããŒãµãŒã«é¡äŒŒãããã®ã«çœ®ãæããããšã«ãã£ãŠã§ãã
ãã®å Žåã --set
ãéåžžã«å¥åŠã§ããïŒãããŠãŸã£ããééã£ãŠããïŒããšã«å®å
šã«åæããŸããã解æã©ã€ãã©ãªå
šäœãå¥ã®ã©ã€ãã©ãªã«çœ®ãæããããšã¯æåŸ
ã§ãããä»ã®åŒ·å¶ããªãããšã確信ã§ããŸããæ°ããã·ã¹ãã ã®ãã°ã 匷å¶ã©ã€ãã©ãªã®äº€æã¯ãåŸæ¹äºææ§ã®ãªãå€æŽãšèŠãªãããŸãã
ãšããããã --set-string
ã¯çŽ æŽãããæ©èœã§ããããã®ãã°ã«ééããä»ã®äººã«ã¯ãå匷å¶ã«äŸåããªãå Žåã¯ã§ããã ã--set-string
ã䜿çšããããšã匷ããå§ãããŸãã ããããã°ãå€ã¯æµ®åå°æ°ç¹æ°ã§ã¯ãªãæååãšããŠåŒ·å¶å€æãããŸãã
æ®å¿µãªãããAnsibleãdictãyamlïŒç§ã®values.yamlïŒã«ãã©ãŒããããããšãåŒçšç¬Šãè¿œå ãããŸãããããã¯ç§ã«ãšã£ãŠå€§ããªåé¡ã§ãã ãã®è¡ãŸã¿ãã®ããã¯ã䜿ããªããã°ãªããªããªããŠä¿¡ããããªãïŒ replace ":" ""
ã¿ã°ã®åã«:
ãä»ããŠåŸã§åé€ããã«æ©èœããåé¿çãå¿
èŠãªå Žåã¯ãããã䜿çšã§ããŸãïŒtl; drïŒã¿ã°ãæ°åã®å Žåã¯ãprintfã䜿çšããŠå°å·ããŸãããã以å€ã®å Žåã¯ãããªããåŸãæååïŒ
{{- $tag := .Values.image.tag }}
{{- $type := printf "%T" $tag }}
image: "{{ .Values.image.repository }}:{{if eq $type "float64"}}{{ printf "%.0f" $tag }}{{ else }}{{ $tag }}{{ end }}"
ãã°ã¯helm ... -f myval.yaml
ã§ãçºçããŸã
åèãŸã§ã«ãããã¯https://github.com/helm/helm/pull/6010ã§ä¿®æ£ãããŸãã
@bacongobblerã¯ãã«ã ããŒãžã§ã³v2.14.3ã§ãŸã ç§ã«èµ·ãã£ãŠããŸã
æ°ããå·ãéãããšã¯ã§ããŸããïŒ ããããšãã
ïŒ6749ã®ïŒ6010ãå ã«æ»ãå¿ èŠããããããå床éããŸãã
ä¿®æ£ãå©çšå¯èœã«ãªãææã®ETAã¯ãããŸããïŒ
ïŒ6888ãåç §ããŠãã ããã
@sagarkalã¯ãåãããŒãžã«ããããšã確èªããŸããåè¿°ã®ä¿®æ£ã¯ãv2ã§ã¯ãªãHelm v3ã«å°éããããšã®ã¿ãç®çãšããŠããŸãïŒããã¯ã©ã³ãã ãªè²¢ç®è ãšããŠå®£èšããŠããŸããå®éã®æ±ºå®ã¯åžžã«ããŒã 次第ã§ãïŒã å€æŽã¯æ¯èŒç倧èŠæš¡ã§ãããçŸåšãããã®ã¿ã§ãã2.xãã©ã³ãã«ããŒãžããã®ã«100ïŒ å®å šã§ãããšèŠãªãã¹ãã§ã¯ãããŸããã ãããŸã§ã®éãæ©äŒãããã°ããŠãŒã¹ã±ãŒã¹ã«å¯ŸããŠPRãã©ã³ãããã¹ãããæåŸ ã©ããã«æ©èœãããã©ããããç¥ããããã ããã°å¹žãã§ãã ããã¯å€§ãã«åœ¹ç«ã€ã§ãããïŒ
--set-string image.tag=6599236
ã䜿çšãããšã次ã®ãããªãã¬ãŒã³ãªãã³ãã¬ãŒãã§æ©èœããŸãã
...
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
env:
...
ãã£ãŒãã®å€ãã¡ã€ã«ã§æå®ããã倧ããªæŽæ°å€ã§ããã«ééããŸãã ç§åŠçèšæ°æ³ã§æé»çã«ãããŒãã«å€æãããŸãã å€ãint
ãã£ã¹ãããã ãã§ãããä¿®æ£ãããç§ãèŠãä»ã®ããã€ãã®åé¿çãããã¯ããã«ã¯ãªãŒã³ã«èŠããŸãã
# values.yaml
tomcat:
maxPostSize: 2097152
# Cast to int when used
{{ .Values.tomcat.maxPostSize | int }}
ããã¯Helmv3.1.1ã§ãã¹ããããŸããã
ããã¯ç¥ã£ãŠè¯ãã§ãïŒ ããã¯ãç§ãèŠãå€ãã®åé¿çãšæ¯èŒããŠãééããªãç°¡åãªåé¿çã§ãã ããããšãïŒ
@Rathgore intãžã®ãã£ã¹ãã¯ãåžžã«intãåŠçããå Žåã«æé©ã§ãããç§ã®å Žåãå
¥åå€ã¯æååãšããŠæ±ãå¿
èŠããããŸãããæ°åã®åœ¢åŒã§æäŸãããŸãïŒå Žåã«ãã£ãŠã¯ïŒã ããšãã°ãççž®ããã7ã€ã®é·ãã®githubã³ãããããã·ã¥ã¯ãæååã§ããå Žåãããã°ãåãªãæ°åã®æååã§ããå ŽåããããŸãã ãã®å Žåã --set-string
ãªãã·ã§ã³ã䜿çšããŠå€ãæž¡ãããšã¯ãæ¯åæ©èœããŸãã
@ m0rganicããã¯ãã¹ãããŠããŸãããã toString
代ããã«int
toString
ã䜿çšãããã !!str
ã䜿çšããŠã¿ã€ããæ瀺çã«èšå®ããŠã¿ãŠãã ããã --set-string
ã䜿çšããŠããå Žåã¯ããã¯å¿
èŠãããŸããããã°ã©ãã§å®çŸ©ãããŠããå€ã«å¯ŸããŠããã®åäœãå¿
èŠã§ãã
@ m0rganicããã¯ãã¹ãããŠããŸãããã
toString
代ããã«int
toString
ã䜿çšãããã!!str
ã䜿çšããŠã¿ã€ããæ瀺çã«èšå®ããŠã¿ãŠãã ããã--set-string
ã䜿çšããŠããå Žåã¯ããã¯å¿ èŠãããŸããããã°ã©ãã§å®çŸ©ãããŠããå€ã«å¯ŸããŠããã®åäœãå¿ èŠã§ãã
toString
ãæ©èœãããå Žåã«ãã£ãŠã¯!!str
䜿çšã§ããŸãã
ãã®åäœãä¿®æ£ããèšç»ã¯ãããŸããïŒ ãã®åé¡ã¯ããªãåããéãããŠããŸã...
ïŒ6888ãåç §ããŠãã ããã ãã以å€ã®å Žåã¯ãããŸããã 䜿çšããå€ãã®ãã¿ãŒã³ãææžåããŸããã ãããããããåŒãèµ·ãããããå€ãã®åé¡ã解決ãã解決çã¯èŠã€ãããŸããã§ããã æ°è»œã«PRã§ãè©Šããã ããã
çŽ æ©ã察å¿ã«æè¬èŽããŸãïŒ ææ¡ãããåé¿çã®ãããããç§ã®ãŠãŒã¹ã±ãŒã¹ã解決ãããã©ããã¯ããããŸããããåè©Šè¡ããŸãã
--set tag=\"1\"
ãå®è¡ãããšãåäœãç°ãªããŸããïŒ
ç§ã®å Žåãintãfloatãboolã®å€ã«""
ã䜿çšããŸããããããŸããããŸããã
ãã®ã³ã¡ã³ãã«åºã¥ããšã
Helm 2ãŠãŒã¶ãŒã®å ŽåãçŸæç¹ã§ã¯ã»ãã¥ãªãã£ãããã®ã¿ãåãä»ããŠãããããHelm 2ã®ãã®ãã°ãä¿®æ£ããäºå®ã¯ãããŸããããã ãããããHelm 3ã«åŒãç¶ãé¢é£ããå Žåã¯ãã³ãã¥ããã£ããã®è©³çŽ°æ å ±ãããã ããã°å¹žãã§ãããã®ç¹å®ã®ãã°ã
ãã«ã 2ã®å Žåã以äžã®äŸã®ããã«ãïŒïŒã®éã«å¥œããªããã«ãã£ã¹ãã§ããŸãã
{{- range $i := until (int .Values.deployment.numberofracks) }}
- name: rack{{$i}}
{{- end}}
ããã¯Helm3ã§ä¿®æ£ããããšæ³å®ããŸããããã¯ããããä¿®æ£ãããããã«èŠããããšãæåŸã«æçš¿ããŠãã3é±éãçµéããŠããããã§ãã Helm 3ã§ãã®åé¡ãçºçããŠããä»ã®ãŠãŒã¶ãŒããŸã ããå Žåã¯ãé æ ®ãªããã®åé¡ã«ã€ããŠè©±ãåã£ãŠãã ããããã®åé¡ãåéã§ããŸãã ããããšãïŒ
ããã¯ãŸã åé¡ã§ãã ç§ã¯3.3.0
ã䜿çšããŠããŸããããŸã ãããçµéšããŠããŸãã
ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ããé¡ãã§ããŸããïŒ
å¬ããã§ããããã®æ¹æ³ãããããããŸããã values.yaml
ã«æ¬¡ã®ãããªãã£ãŒã«ããããã°ã©ãããããŸãã
customEnv:
SOME_ENV_VAR: 10000000
ãããŠtemplates/deployment.yaml
ãç§ã¯ãããæã£ãŠããŸãïŒ
...
containers:
- name: someContainer
env:
{{- range $key, $value := .Values.customEnv }}
- name: {{ $key | quote }}
value: {{ $value | quote }}
{{- end }}
...
helm template
ãå®è¡ãããšãã¬ã³ããªã³ã°ãããåºåã§æ¬¡ã®å€ãååŸãããŸãã
...
containers:
- name: someContainer
env:
- name: "SOME_ENV"
value: "1e+07"
...
次ã«ããããã€ãããã¢ããªã±ãŒã·ã§ã³ãSOME_ENV
ã®å€ãæ°å€ãšããŠè§£æããããšãããšã倱æããŸãã
ã¯ãã Helm 3.3.1ã§ã®æ瀺ã«åŸã£ãŠãåãåé¡ãåçŸããããšãã§ããŸããã ããããšãããããŸããã åéã
å°ãéãè§åºŠã§åãåé¡ã«ã¶ã€ãã£ãŠããŸãã ç§ã®appVersion
ã¯8482e77
ã§ãã appVersion
ãåç
§ãããšã +Inf
ãšããŠã¬ã³ããªã³ã°ãããŸãã ãšããã§ãããã¯ãããã°ããã®ã楜ããã§ãã
ç·šéïŒ
appVersionãappVersion: 8482e77
ããappVersion: "8482e77"
ãåé¡ãä¿®æ£ãããŸãã
ããã¯äºæ³ãããããšã§ãã åŒçšç¬Šã§å²ãŸããŠããªãå ŽåãYAMLã¯ãã®å€ãç§åŠçèšæ°æ³ãšããŠè§£æããŸãïŒ 8482e77
ã¯ã8482 * 10 ^ 77ããæå³ããããïŒã å€ãæååãšããŠæ±ãããå Žåã¯ãåŒçšç¬Šã§å²ã¿ãŸãã
contianerç»åã¿ã°ã§ãã®åé¡ãçºçããŸããã ãã®åé¡ã¯ã以äžã®ãã«ããŒãäœæããããšã§è§£æ±ºãããŸããã
+{{/* Generate Image Name */}}
+{{- define "helpers.image" }}
+{{- $tag := printf "%f" .Values.app.image.tag -}}
+{{- if regexMatch "^[0-9]+\\.[0-9]+$" $tag }}
+{{ .Values.image.repository }}:{{ .Values.image.tag | int }}
+{{- else }}
+{{ .Values.image.repository }}:{{ .Values.image.tag }}
+{{- end }}
+{{- end }}
ãããŠããããã€ã¡ã³ããããã§ã¹ãã§ïŒ
containers:
- name: {{ template "helpers.fullname" . }}
image: {{ template "helpers.image" . }}
ãã®åé¡ã¯ä¿®æ£ãããŠããŸããïŒ ããã§ãªãå Žåã¯ããããä¿®æ£ããããšæããŸãã
ããããäžèšãåç §ããŠãã ããã å¿ ãã¹ã¬ãããèªãã§ãèªåã§ãã¹ãããŠãã ããã :)
ãã®åé¡ã¯ãã¢ã¯ãã£ããã£ããªãç¶æ ã§90æ¥ééããŠãããããå€ããã®ãšããŠããŒã¯ãããŠããŸãã ãã以äžã®ã¢ã¯ãã£ããã£ãçºçããªãå Žåããã®ã¹ã¬ããã¯30æ¥ä»¥å ã«èªåçã«éããããŸãã
ãã³ãããŸã åé¡
å€åæ°å€ã®ã³ãããIDã§ãã®åé¡ãçºçããå Žåããã®åé¿çã䜿çšããŠããŸãã
{{- define "numericSafe" -}}
{{- if . | toString | contains "e+" -}}
{{ . | toString | replace "." "" | regexFind "^\\d+" }}
{{- else -}}
{{ . }}
{{- end -}}
{{- end -}}
ãã®åŸã
{{ include "numericSafe" .Values.git.commitID }}
å
ã®æååã«ããããše+
ãå«ãŸããŠããªãå Žåã¯åé¡ã解決ããŸãããéåžžã«é·ãæ°å€æååãã©ããã¯ããããŸããããäœãçç¥ãããŸãã
@urakagiæ®å¿µãªãããå€ã次ã®å Žåã¯æ©èœããŸããïŒ 1800000
ãã®åé¡ã®ä¿®æ£ã¯èšç»ãããŠããŸããïŒ
æŽæ°ã¯ãããŸããïŒ
@ bacongobbler @ edobryããã®åçŸã¯å®éã«ã¯å¥ã®åé¡ã§ãã ããã¯å
ã
ã --set
ã§æž¡ãããå€ã«é¢ãããã®ã§ããããçŸåšã¯ä¿®æ£ããã --set-string
ãªãã·ã§ã³ãè¿œå ãããŸããã
åçŸã¯ãvalues.yamlå
ã®ããã€ããç§åŠçèšæ°æ³ã«å€æŽãããŠããããšã§ãã æååãšããŠæ±ãå¿
èŠãããå Žåã¯ã values.yaml
ã®æ°å€ãåŒçšããããšã§åçŸãä¿®æ£ã§ããŸãã æ°åãšããŠäœ¿çšããå Žåãè¡šèšã¯åé¡ã«ãªããŸããã
ã³ãŒãã調ã¹ããšãããæ倧20æ¡ã®10é²æ°ã§ã¯ãªããæšæºè¡šèšã§æ°å€ãåºåããããã«åäœãå€æŽã§ãããšæããŸãã ãã®åŸãåºã«ãªãyamlããŒãµãŒã«ã¯ãéåžžã«å€§ããªæ°ãäžžããããç§åŠçèšæ°æ³ã«å€æãããããå®è£ äžã®å¶éãããããã§ãã
ãŸãã @ edobryã®åçŸã§èª¬æãããŠããããã«ãåé¡ã«å¯ŸåŠããå¥ã®åé¡ãèŠã€ããããšããŸããããããŒãµãŒãé©åã§ãããšå€æããå€ã解æããããã«ãããæå³ãããŠããããã«èŠããïŒ9162ãèŠã€ããŸããyamlä»æ§ã®ç¯å²ã
ãããã£ãŠã誰ããããšãã°æ°å€ãæããªãïŒç®è¡ãå®çŸ©ãããŠããªãïŒæ°å€ã¿ã°ã䜿çšããå ŽåãæååãšããŠæ±ãããããã«values.yaml
ã§åŒçšããå¿
èŠããããããã§åé¡ãä¿®æ£ãããŸãã
# values.yaml
foo: "10000000"
# template
foo: {{ .Values.foo | quote }}
md5-aba98a385ca8fe457cb1f98967ed3bf1
# Source: foo/templates/x.yaml
foo: "10000000"
md5-265ed31678f08bdbd76c259b974f5398
# Source: foo/templates/x.yaml
foo: "1e+07"
md5-3df6a1bc5fe8f474ded5c2033aaf11a3
# Source: foo/templates/x.yaml
foo: "10000000"
ãããã£ãŠãåŒçšç¬Šã§å²ãŸããŠããªãæ°å€ã®è§£æã¯ããã§ã«è¡ãããŠãã以å€ã®èŠåã«åŸãå¿ èŠããããšèª°ããèããå ŽåããããéããŠæ°ããåé¡ãéãããšãã§ãããšæããŸãã
æãåèã«ãªãã³ã¡ã³ã
äžäœäºææ§ïŒ åãªããWTFãã§ãããå€ãã®äººããããæãã§ããªãããŸãã¯äœ¿çšããŠããªãå¯èœæ§ãé«ãæ©èœã«ã€ããŠã¯ã©ãã§ããããã éçºãé²ãã§ããŠãå®éã«ã¯åºãæ¡çšãããŠããªãããŒã«ã§ã¯ïŒ æ¬åœã«é ããªãåã«ããããåèããŠä¿®æ£ããããšããå§ãããŸãã