Skip to content

Playground for Jsonnet, inspired by Go/Rust projects of similar names.

License

Notifications You must be signed in to change notification settings

jdockerty/jsonnet-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsonnet-playground

Inspired by the Go playground and others.

This project is built with Go, templ, and htmx.

It is available at jsonnet.jdocklabs.co.uk for anyone1 to use.

How it works

Pages are directly rendered and served by the Go HTTP server through the templ library.

Jsonnet is taken as input and evaluated through the Jsonnet VM, available through the /api/run path, and htmx's target functionality displays the evaluated input or error message in the corresponding output box.

Sharing is achieved through the creation of a shareable hash, the Jsonnet must be valid to be shared. If a shareable snippet has recently been created, it can be shared with others by simply sending them the link. This will then be loaded by the server and displayed.

Features

  • Evaluate Jsonnet in browser
  • Share snippets with others
  • Format snippets inline with jsonnetfmt
  • Utilise the extended functionality of kubecfg

Development

The justfile in this repository provides various commands for local development.

just run will run the server and make the relevant static assets available2.

Footnotes

  1. Shared snippets are currently stored in memory, this is to keep the project near-free to run.

  2. The assets are named kodata alongside the server as the application is built and deployed with ko.