mirror of
https://github.com/helm/helm.git
synced 2026-03-28 13:24:26 -04:00
Backport of https://github.com/helm/helm/pull/6010 to dev-v3 (the description below is a copy-paste from the original v2 branch PR). As https://github.com/helm/helm/pull/6016 is now merged to dev-v3, the change is reasonably trivial. This change is an attempt to address the common problem of json number unmarshalling where any number is converted into a float64 and represented in a scientific notation on a marshall call. This behavior breaks things like: chart versions and image tags if not converted to yaml strings explicitly. An example of this behavior: k8s failure to fetch an image tagged with a big number like: $IMAGE:20190612073634 after a few steps of yaml re-rendering turns into: $IMAGE:2.0190612073634e+13. Example issue: #1707 This commit forces yaml parser to use JSON modifiers and explicitly enables interface{} unmarshalling instead of float64. The change introduced might be breaking so should be processed with an extra care. Due to the fact helm mostly dals with human-produced data (charts), we have a decent level of confidence this change looses no functionality helm users rely upon (the scientific notation). Relevant doc: https://golang.org/pkg/encoding/json/#Decoder.UseNumber Signed-off-by: Oleg Sidorov <oleg.sidorov@booking.com> Signed-off-by: Oleg Sidorov <me@whitebox.io>
13 lines
262 B
YAML
13 lines
262 B
YAML
poet: "Coleridge"
|
|
title: "Rime of the Ancient Mariner"
|
|
stanza: ["at", "length", "did", "cross", "an", "Albatross"]
|
|
|
|
mariner:
|
|
with: "crossbow"
|
|
shot: "ALBATROSS"
|
|
|
|
water:
|
|
water:
|
|
where: "everywhere"
|
|
nor: "any drop to drink"
|
|
temperature: 1234567890
|