<story><title>Jsonnet – The Data Templating Language</title><url>https://jsonnet.org/</url></story><parent_chain><item><author>CSDude</author><text>We&amp;#x27;ve been using Jsonnet to generate Pods for our complex DAGs at Opsgenie, wrote a similar one using Tekton: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;mustafaakin.dev&amp;#x2F;posts&amp;#x2F;2020-04-26-using-jsonnet-to-generate-dynamic-tekton-pipelines-in-kubernetes&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;mustafaakin.dev&amp;#x2F;posts&amp;#x2F;2020-04-26-using-jsonnet-to-ge...&lt;/a&gt;&lt;p&gt;But if I was doing it again now, I would just use &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;cuelang.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;cuelang.org&amp;#x2F;&lt;/a&gt; or &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;dagger.io&quot;&gt;https:&amp;#x2F;&amp;#x2F;dagger.io&lt;/a&gt; Jsonnet is really hard to debug.</text></item></parent_chain><comment><author>ithkuil</author><text>&amp;gt; Jsonnet is really hard to debug.&lt;p&gt;yes! As always, it&amp;#x27;s mostly a tooling issue. Surely, some aspects of the language like lazy evaluation, make it even harder, but fundamentally there is no reason we cannot significantly improve on the overall experience.&lt;p&gt;And this is not just about debugging when things go wrong. It&amp;#x27;s also hard to navigate the codebase and understand where are the templates that you care about. Things can happen at multiple levels (that&amp;#x27;s the feature!) and so it can be quite hard to figure out which files you need to touch if you want to change something in the output. I&amp;#x27;m working on a tool to answer that question: &amp;quot;if I wanted to change this field in the generated out put, what are the places in the input files that contribute to produce this value&amp;quot;&lt;p&gt;&lt;pre&gt;&lt;code&gt;    $ ursonnet testdata&amp;#x2F;child.jsonnet &amp;#x27;$.deployment.spec.template.spec.containers[0].resources.limits.cpu&amp;#x27;   
    testdata&amp;#x2F;common.libsonnet:27 
    testdata&amp;#x2F;base.jsonnet:5 
    testdata&amp;#x2F;common.libsonnet:23 
    testdata&amp;#x2F;common.libsonnet:22 
    testdata&amp;#x2F;config.libsonnet:5
&lt;/code&gt;&lt;/pre&gt;
The tool lives in &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;mkmik&amp;#x2F;ursonnet&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;mkmik&amp;#x2F;ursonnet&lt;/a&gt; . I got the basics working but it doesn&amp;#x27;t work on my larger codebases due to some bug I didn&amp;#x27;t have yet time hunting down. Having some interest&amp;#x2F;feedback&amp;#x2F;help from the community would help making this a reality.</text></comment>
<story><title>Jsonnet – The Data Templating Language</title><url>https://jsonnet.org/</url></story><parent_chain><item><author>CSDude</author><text>We&amp;#x27;ve been using Jsonnet to generate Pods for our complex DAGs at Opsgenie, wrote a similar one using Tekton: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;mustafaakin.dev&amp;#x2F;posts&amp;#x2F;2020-04-26-using-jsonnet-to-generate-dynamic-tekton-pipelines-in-kubernetes&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;mustafaakin.dev&amp;#x2F;posts&amp;#x2F;2020-04-26-using-jsonnet-to-ge...&lt;/a&gt;&lt;p&gt;But if I was doing it again now, I would just use &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;cuelang.org&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;cuelang.org&amp;#x2F;&lt;/a&gt; or &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;dagger.io&quot;&gt;https:&amp;#x2F;&amp;#x2F;dagger.io&lt;/a&gt; Jsonnet is really hard to debug.</text></item></parent_chain><comment><author>sleepybrett</author><text>Agreed.&lt;p&gt;I dislike that it&amp;#x27;s json to transform json, it becomes a rats nest. I had similar experiences with xslt back in the day.</text></comment>