问题标签 [jsonnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

pipeline - 无人机服务monorepo管道jsonnet

亲爱的,我有 monorepo 与管道无人机一起使用,如果 github 上发生任何更改,所有服务都部署在一起......我只想重新部署 github 上唯一的更改服务,不是所有服务甚至都发生了变化,或者我们怎么能做到这一点管道无人机仅在 github 上部署更改服务代码

0 投票
1 回答
361 浏览

grafana - 如何在 Jsonnet 中为 Grafana 仪表板模板填充变量

我想使用单个模板部署和管理许多类似的带有 jsonnet/grafonnet 的 Grafana 仪表板,其中在每个仪表板实例中替换变量。

到目前为止,我的(不工作)方法的简化示例如下所示:

但是,在渲染时,它只输出一个值为“thing2”“metric2”的仪表板。

像这样的模板的正确方法是什么?我正在寻找要像这样输出的多个仪表板...

仪表板1-“事物1”“公制1”

仪表板2-“事物2”公制2”

0 投票
1 回答
192 浏览

argocd - 将 TLA 从 argocd 传递到 jsonnet

试图了解使用 argocd将 TLA 传递给我的 jsonnet 文件。这是我的 argocd application.yaml 的一部分,它直接从我的 main.jsonnet 文件编译 kube-prometheus 清单。我想在 argocd(prod 和 nonprod)中创建 2 个 kube-prometheus 应用程序,并且我想传递 TLA 来更改每个应用程序实例的入口主机名后缀。

在我的 main.jsonnet 文件中,例如:

jsonnet 和 argocd 的新手,无法使其正常工作。我可以以这种方式使用 TLA 吗?

0 投票
1 回答
149 浏览

python - 可以用纯python构造一个.jsonnet文件吗

我使用.jsonnet文件作为AllenNLP模型配置的模板

我使用Optuna包搜索超参数空间,并在每个步骤中使用建议的超参数作为extVars 评估该模板。然后我训练一个模型并将其保存到档案中。

问题是,除了超参数之外,我的配置的某些部分还包括相对于变量的.jsonnet文件路径(我的包内的一个目录)。extVar这些文件路径也被渲染,最后我的 . 中有绝对路径model.tar.gz,这是错误的,因为它们甚至可能不存在于加载该存档的机器上

.jsonnet:

渲染的.json:

所以我想保存原始路径表达式并在加载时提供环境变量,但我还没有找到在python中序列化.jsonnet文件的方法,只有.json

0 投票
1 回答
85 浏览

jsonnet - 从方法中增加变量

我想在方法中增加一个计数器,如下所示:

该行self._panelSlot = self._panelSlot +1是我期望的工作,但这确实会导致以下错误:

STATIC ERROR: lib/grafana/builder.libsonnet:157:7-11: unexpected: self while parsing field definition

我的第二次尝试:

我不确定这是否会覆盖该_panelSlot变量,但我无法确认,因为我无法访问我的对象数组上的该变量:

我的问题

如何修改方法中的变量(即递增计数器),以便在下次调用该方法时可以访问修改后的变量?

0 投票
1 回答
48 浏览

jsonnet - 使用迭代器的对象理解

我有一个renameByName这样的给定对象:

我想将其转换为一个应该按索引对字段进行排序的对象:

我的想法:

这将产生:

完整参考代码:

我的问题:

因为 Jsonnet 没有循环迭代器,所以我不确定如何在这里使用计数器?

0 投票
1 回答
93 浏览

gitlab - 使用 Gitlab 仪表板 - 如何将 grafonnet 与 jsonnet 一起使用以生成我可以与 Grafana 一起使用的 json 文件

有人可以告诉我如何在 grafonnet 中使用 jsonnet 文件吗?像新手一步一步?

我想在本地 Grafana 环境中使用 GitLab 仪表板 - https://gitlab.com/gitlab-com/runbooks/-/tree/master/dashboards

到目前为止,我发现的唯一有用的教程在这里 - https://hodari.be/posts/2020_06_27_grafana_and_grafonnet_dashboards/

我假设 jsonnet 会吐出我可以导入 Grafana 的 json。

所以我下载了我假设让我使用 kubernetes 版本仪表板的 jsonnet 文件,并尝试在其上运行 jsonnet -

我在网上搜索了 grafana/basic.libsonnet,但找不到任何东西。

有人可以逐步说明将 jsonnet 文件转换为可用 json 所需的操作 - 还是我理解这完全错误?

我确实查看了 jsonnet 和 grafonnet 主页,但它对我一点帮助都没有。

我在哪里获得并放置 grafana/basic.libsonnet?

任何帮助是极大的赞赏!!

0 投票
0 回答
47 浏览

json - jsonnet中的覆盖函数

我有一个.libsonnet带有 JSON 预定义模板的文件,它做了很多工作,并且它有一个我想从.jsonnet. 原因是 libsonnet 文件当然是一个 lib,并且必须从客户端自定义更改。有没有办法覆盖jsonnet中的函数?
我一直在查看官方文档和教程,但没有在任何地方提及

我想做的是通过更改数组files的一些内容来更改数组中的值,我认为我可以覆盖整个函数,但我找不到如何。

0 投票
1 回答
125 浏览

jsonnet - 如何正确格式化此 jsonnet 数组输出?

我有以下 JSON,并且正在使用 -y 选项来生成 yaml 输出。

我想生产(需要)

但我得到

注意实际输出中的大括号。是否可以使用 jsonnet 生成所需的 yaml 输出?

0 投票
0 回答
70 浏览

jsonnet - how can i create a parametrized template in jsonnet that inherits the fields of a (also parametrized) 'base object' via an import?

I'm trying to use the 'OO' features of jsonnet in combination with the parametrization capabilities available via the tla arguments mechanism

I want to create templates of different kinds of events. The base Event type just has 3 necessary fields - id, version, timestamp but passed in as parameters. So i used the function approach to create a template like so

This works fine when those args are passed via --tla flags.

Now I want to create a specialized Event type, FirewallEvent whose output should look like this (and is also parametrized)

I'm struggling to figure out how to set up the jsonnet template for the Firewall event type - specifically how to 'include' the fields from the base type in the root of the firewall object definition. This doesnt work...

UPDATE: This worked (i'm a jsonnet n00b, so pardon my ignorance)

However, I'm still wondering if there's a better/canonical way to declare that Firewall derives from a base type (and more generally, what's the right way to set up a series of parametrized templates for an object specialization hierarchy).