首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jsonnet中导入YAML

在jsonnet中导入YAML
EN

Stack Overflow用户
提问于 2018-05-22 18:45:12
回答 1查看 5.8K关注 0票数 7

有办法在jsonnet中导入.yaml文件吗?

我发现jsonnet支持导入.json,并且有一个本机importstr()函数,但是看起来不支持.yaml

我想做的是:

代码语言:javascript
复制
local foo = import "foo.yaml";
local bar = foo.bar;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-22 18:58:43

现在(5月/2018年),https://github.com/google/jsonnet/issues/460上还有一个悬而未决的问题,如果您正在使用Kubernetes清单(导入+按摩w/ jsonnet ),您可以使用包含超集jsonnet(包括std.parseYaml() )的https://github.com/ksonnet/kubecfg

更新(2018-05-23):添加了ksonnet 示例

使用ksonnet的嵌入式parseYaml,在app文件夹:

代码语言:javascript
复制
$ cat assets/foo.yaml 
foo: value1
bar: value2

$ cat components/cm.jsonnet 
local env = std.extVar("__ksonnet/environments");
local params = std.extVar("__ksonnet/params").components.cm;
local k = import "k.libsonnet";
local configMap = k.core.v1.configMap;

local parseYaml = std.native("parseYaml");

configMap.new(params.name, params.data) {
  data+: parseYaml(importstr "../assets/foo.yaml")[0] {
    foo: "my own value",
  },
}

$ ks show default
---
apiVersion: v1
data:
  bar: value2
  foo: my own value
kind: ConfigMap
metadata:
  name: cm
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50474517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档