问题
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