Configurability
Jsonnet allows you to write configurations as code, enabling dynamic configuration generation and making it easier to manage complex configurations.
Extensibility
Jsonnet supports functions and imports, enabling code reuse and modular configuration design across different files and projects.
JSON Compatibility
Since Jsonnet is a JSON extension, it is fully compatible with JSON, meaning any valid JSON file is also valid in Jsonnet.
Reduce Repetition
Jsonnet reduces redundancy through capabilities like variables and functions, helping to avoid repetitive configurations and boilerplate.
Final Manifest
Jsonnet outputs a final manifest in JSON, providing a clean and widely-accepted data format that can be used directly by applications.
We have collected here some useful links to help you find out if Jsonnet is good.
Check the traffic stats of Jsonnet on SimilarWeb. The key metrics to look for are: monthly visits, average visit duration, pages per visit, and traffic by country. Moreoever, check the traffic sources. For example "Direct" traffic is a good sign.
Check the "Domain Rating" of Jsonnet on Ahrefs. The domain rating is a measure of the strength of a website's backlink profile on a scale from 0 to 100. It shows the strength of Jsonnet's backlink profile compared to the other websites. In most cases a domain rating of 60+ is considered good and 70+ is considered very good.
Check the "Domain Authority" of Jsonnet on MOZ. A website's domain authority (DA) is a search engine ranking score that predicts how well a website will rank on search engine result pages (SERPs). It is based on a 100-point logarithmic scale, with higher scores corresponding to a greater likelihood of ranking. This is another useful metric to check if a website is good.
The latest comments about Jsonnet on Reddit. This can help you find out how popualr the product is and what people think about it.
Https://jsonnet.org/ I never heard of this before. This seems like the JSON I wish I really had. Of course at some point you could just use JavaScript. - Source: Hacker News / 2 months ago
I've been reading the book Modern Compiler Implementation in ML lately. It's been helpful to brush up on some concepts while developing Tsonnet (my typed-aspiring Jsonnet flavor) and I hope to learn a ton more. However, I'm growing dissatisfied with some details -- not specifically the book, but the choice of the development environment. - Source: dev.to / 3 months ago
For the past 2 years, I've been working extensively with Jsonnet, a configuration language that augments JSON and helps eliminate repetition in our config files. It has its limits (many by design), which keeps the language simple to use. But there's one thing that keeps nagging at me when I'm deep in the code: what's the shape of the input or output of this function? And wouldn't it be great if we could type... - Source: dev.to / 5 months ago
Jsonnet: Use --jsonnet (-j) for advanced, programmatically controlled renaming logic. - Source: dev.to / 6 months ago
Kubernetes does not provide or require a configuration language like Jsonnet, as it provides a declarative API that can be used with different types of declarative specifications. - Source: dev.to / 11 months ago
Jsonnet[1] and kapitan[2] are the tools I currently use. Their learning curve is not optimal (and I tried to contribute to smoothen it with a jsonnet course[3] and a 'get started wit kapitan' blog post[4]), but once used to it it's hard to do without, and their combination makes them even more useful (esp. If you deploy K8s). In Ruud's case, Jsonnet might have been worth looking at as Hashicorp tools can be... - Source: Hacker News / over 1 year ago
Kubernetes config is a decent example. I had ChatGPT generate a representative silly example -- the content doesn't matter so much as the structure: https://gist.github.com/cstrahan/528b00cd5c3a22e3d8f057bb1a75ea61 Now consider 100s (if not 1000s) of such files. I haven't given Pkl an in depth look yet, but I can say that the Industry Standard™ of "simple YAML" + string substitution (with delicate, error prone... - Source: Hacker News / over 1 year ago
Maybe you'd like jsonnet: https://jsonnet.org/ I find it particularly useful for configurations that often have repeated boilerplate, like ansible playbooks or deploying a bunch of "similar-but" services to kubernetes (with https://tanka.dev). Dhall is also quite interesting, with some tradeoffs: https://dhall-lang.org/ A few years ago I did a small comparison by re-implementing one of my simpler ansible... - Source: Hacker News / almost 2 years ago
Apologies for the lack of context, and for missing this comment until today. Both are tools for defining kubernetes manifests (which are YAML) in a reusable manner. Jsonnet is a formally specified extension of JSON. It’s essentially a functional programming language (w/some object oriented features) that generates config files in JSON/YAML/etc, so it’s straightforward to determine whether an input file is valid,... - Source: Hacker News / about 2 years ago
I like Google's Jsonnet [1], which has all of this except for 4. Jsonnet is quite mature, with fairly wide language adoption, and has the benefit of supporting expressions, including conditionals, arithmetic, as well as being able to define reusable blocks inside function definitions or external files. It's not suitable as a serialization format, but great for config. It's popular in some circles, but I'm sad that... - Source: Hacker News / about 2 years ago
I wonder why generated JSON is not used more widely, something like jsonnet[0], although I've never used it. Most systems come with Python 3 installed, which supports working with JSON[1] without installing any dependencies. So, I'm wondering if we could use Python to generate JSON data that is then consumed by other tools. This would fix the lack of comments and trailing commas in JSON, you get functions and... - Source: Hacker News / over 2 years ago
Fwiw, jsonnet was a breath of fresh air to help tackle our configuration complexity. Source: over 2 years ago
We experimented with Jsonnet and Dhall as languages that allow you to compose structured text files rather than template then. With hindsight I can tell you that the supporting tooling (linting, testing, package management) never materialized for Jsonnet, and Dhall is too complex unless you have a lot of Haskell devs. Source: over 2 years ago
You can do this sort of thing (and generally keeping everything DRY) by generating your manifests programatically. I use jsonnet (https://jsonnet.org/) to generate k8s manifests, but there are other tools... Source: over 2 years ago
Jsonnet promises to be JSON plus templating, and that's exactly what it delivers. It allows you to include other files and has many useful features such as variables and functions. Jsonnet overall was a pretty decent Experience, and we could've stopped there. - Source: dev.to / over 2 years ago
I hope you enjoy the course (I'm interested in your feedback!) and if it makes you start using Jsonnet it will be mission accomplished :-) [1] https://jsonnet.org/. - Source: Hacker News / over 2 years ago
You can use JSONNET and 'std.parseYaml' function for more precision tuning. Source: over 2 years ago
> To seriously answer the question: is the Nix language required for the Nix packaging system to exist? Laziness is required, to some degree, but can the next iteration provide an on-ramp which doesn't involve learning a new lang and paradigm? Guix folks sure think so. I'd love to hear from someone deeply familiar with Nix and Guix about laziness. I'm deeply familiar with Nix and I've concluded that lazy semantics... - Source: Hacker News / almost 3 years ago
> As an aside, the existence of the '{{ | indent 4 }}' function in helm should disqualify it from any serious use. Render, don't template. This. My first thought when I saw the indentation hack was "it can't be a serious, production-ready software". My take on this is as follows. If you have a simple use case, write your K8s manifests directly. If you have a complex use case, Helm is often more pain than its... - Source: Hacker News / almost 3 years ago
There's json generation libraries. Don't know why they didn't mention jsonnet, which is much more popular than either one and has fairly wide usage in the k8s community. Source: almost 3 years ago
Jsonnet[1] might suit your use-case better, it was created to do exactly that. [1]https://jsonnet.org. - Source: Hacker News / about 3 years ago
Do you know an article comparing Jsonnet to other products?
Suggest a link to a post with product alternatives.
Is Jsonnet good? This is an informative page that will help you find out. Moreover, you can review and discuss Jsonnet here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.