我有一个jsonnet文件
local version = std.extVar('version');
local entities = std.extVar('entities');
{
appname::'app-dev',
version::version,
entities::entities,
}version字段似乎是一个字符串,但是“实体”字段是一个位于jsonnet文件附近的数组。我使用kubecfg show创建json文件并替换如下所示的变量:
kubecfg show test.jsonnet --ext-str "version=$VERSION" --ext-str "entities=$(cat entities.txt)" 当然,在此命令期间,我会收到一个错误:
got "string", expected "array";有没有办法用kubecfg show代替数组?
发布于 2020-03-20 12:49:07
找到了解决办法。
Kubecfg0.15.3有一个标志,它提供了从命令行、文件或环境注入jsonnet的方法。
--ext-code | jsonnet | commandline | std.extVar(...) |
--ext-code-env | jsonnet | environment | std.extVar(...) |
--ext-code-file | jsonnet | file | std.extVar(...) |因此,解决方案看起来如下:
kubecfg show test.jsonnet --ext-str "version=$VERSION" --ext-code "entities=$(cat entities.txt)" https://stackoverflow.com/questions/60772021
复制相似问题