通过 --set with helm --upgrade 传递给空值变量的映射将被忽略

map passed to empty Values variable by --set with helm --upgrade will be ignored

我目前正在尝试通过 helm upgrade --set mymap.value=xyz ... 将地图传递给空值变量,如下所示:

值文件:

(...)
myMap:

执行 helm upgrade 命令成功但出现以下错误:warning: skipped value for myMap: Not a table.

如果我用像

这样的虚拟地图填充Values文件
(...)
myMap:
   dummy:

然后它开始工作并覆盖整个地图,删除现有的 dummy 节点。

这种行为让我花了很长时间才意识到,一个空列表将被接受,但对一个空地图做完全相同的事情却不会。因此,我只想问问这种行为是否是故意的,或者这是否是一个应该解决的错误。

由于 json 始终是有效的 yaml,因此可以对空类型值使用 map: {}array: []