将数组替换为 jsonnet
Substitute array to jsonnet
我有一个json网络文件
local version = std.extVar('version');
local entities = std.extVar('entities');
{
appname::'app-dev',
version::version,
entities::entities,
}
版本字段似乎是一个字符串,但"entities"字段是一个数组,位于jsonnet文件附近。
我正在使用 kubecfg show
创建 json 文件并像这样替换变量:
kubecfg show test.jsonnet --ext-str "version=$VERSION" --ext-str "entities=$(cat entities.txt)"
当然,在这个命令中我收到一个错误:
got "string", expected "array";
有什么方法可以使用 kubecfg show
替换数组吗?
已找到解决方案。
kubecfg 0.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)"
我有一个json网络文件
local version = std.extVar('version');
local entities = std.extVar('entities');
{
appname::'app-dev',
version::version,
entities::entities,
}
版本字段似乎是一个字符串,但"entities"字段是一个数组,位于jsonnet文件附近。
我正在使用 kubecfg show
创建 json 文件并像这样替换变量:
kubecfg show test.jsonnet --ext-str "version=$VERSION" --ext-str "entities=$(cat entities.txt)"
当然,在这个命令中我收到一个错误:
got "string", expected "array";
有什么方法可以使用 kubecfg show
替换数组吗?
已找到解决方案。
kubecfg 0.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)"