
This illustrates why Jsonnet should be in your toolbox. Discover the benefits of using Jsonnet for JSON generation.
Explore how Jsonnet code evaluates to json and prints results, using the jsonnet executable to run files or expressions with flags like -e and -o.
Explore how Jsonnet defines functions as first-class values, with bodies and arguments, including local and object field functions, recursion, anonymous functions, and lazy evaluation.
Explore how array and object comprehensions generate Cartesian products across multiple arrays, with variables, conditions, and field expressions determining resulting objects and null-valued fields.
Learn to manage Jsonnet libraries with the Jsonnet Bundler (jb): install, init, and vendor dependencies for consistent environments. Import libraries from vendor and run with -J to test.
Install jsonnet on Linux by downloading the release from jsonnet.org, validating the checksum, extracting the binaries, adding jsonnet and jsonnet fmt to PATH, and testing a sample file.
Understand how Jsonnet works, and be productive writing Jsonnet code. Based on real worl experience.
Jsonnet is a programming language used to generate JSON and YAML content efficiently and with flexibility. JSON and YAML configuration formats are used pervasilvely. From docker-compose to Hashicorp tools like Vagrant and Terraform. Jsonnet is a tool of interest for anyone needing to generate JSON or YAML configuration. As such it is no surprise to see it is used by some tools helping to manage complex Kubernetes configurations.
This training helps you get productive rapidly with the Jsonnet language. It covers from the basics to the advanced techniques:
Syntax and data types: The Jsonnet syntax is close to JSON. Actually a JSON document is a valid Jsonnet program! Discover the syntax along with the data types supported by Jsonnet.
Understanding the Jsonnet execution: When you know the syntax, it is tume to understand how Jsonnet code is executed. From Jsonnet expressions to JSON manifestation
Jsonnet functions: Learn to define and use function to avoid repetitions and modularize your code
Jsonnet objects: Discover the power of combining objects, and more importantly, understand how it works. Learn about inheritances, and how to augment an object’s existing value
Comprehension: Master array and object comprehension, allowing you to transform arrays to other arrays and even objects
Parameterised runs: See how you can pass parameters to a Jsonnet program
Libraries: Organise your code by authoring and using libraries. Manage your project’s dependencies with the Jsonnet Bundler, the package manager. Get tips on how to manage your Jsonnet with your source code versioning system.
Generate errors: Learn how to interrupt the Jsonnet execution early