【问题标题】:Substitute array to jsonnet将数组替换为 jsonnet
【发布时间】:2020-03-20 10:02:55
【问题描述】:

我有一个 jsonnet 文件

local version = std.extVar('version');
local entities = std.extVar('entities');

{

    appname::'app-dev',
    version::version,
    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 替换数组?

【问题讨论】:

    标签: arrays kubernetes jsonnet


    【解决方案1】:

    找到了解决办法。

    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)"  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2019-01-14
      • 2023-01-05
      • 1970-01-01
      • 2015-10-16
      相关资源
      最近更新 更多