Append release timestamp to helm template name

心不动则不痛 提交于 2021-02-08 12:33:47

问题


I'm struggling with finding a way to include the Release.Time builtin as part of a helm name.

If I just include it as: name: {{ template "myapp.name" . }}-{{ .Release.Time }}

Dry run shows this: name: myapp-seconds:1534946206 nanos:143228281

It seems like this is a *timestamp.Timestamp object or something because {{ .Release.Time | trimPrefix "seconds:" | trunc 10 }} outputs wrong type for value; expected string; got *timestamp.Timestamp

I can hack the string parsing by doing: {{ .Release.Time | toString | trimPrefix "seconds:" | trunc 10 }}, but it seems like I should be able to call something on the Timestamp object to get the seconds. Is anyone aware of where the docs are for this? I can't find any reference to it at https://godoc.org/github.com/Masterminds/sprig.


回答1:


To format timestamp, you can use date FORMAT TIME from Sprig doc. And because .Release.Time got removed in Helm 3, you have to use now instead:

{{ now | date "20060102150405" }}

Refer the format options: https://golang.org/pkg/time/#Time.Format

But having timestamp in the name is not good idea because of upgrades.



来源:https://stackoverflow.com/questions/51968757/append-release-timestamp-to-helm-template-name

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!