What does HackerNews think of isopod?

An expressive DSL and framework for Kubernetes configuration without YAML

Language: Go

#84 in Go
#76 in Go
#8 in Kubernetes
#39 in Kubernetes
Tried it[0], worked reasonably well. Be prepared for strong opposition from traditional “devops” folks (really just rebranded sysadmins) and boneheaded management “who don’t mind yaml” and will drag everyone down.

[0] - https://github.com/cruise-automation/isopod

I like Cue and Jsonnet and Starlark and so on. But all of these have very low mindshare (though Starlark has the most momentum thanks to Bazel), and who knows if they will be dead by next year.

Being an early adopter is difficult both in terms of the immaturity of the tooling — Cue, for example, only has a Go implementation at the moment — and in terms of the risk of betting on an evolutionary dead end, which can cause a lot of unnecessary churn when you want to standardize on something across an entire organization.

As a concrete example, I'd love to replace Kubernetes's use of YAML with something like the above. But the tooling is immature, and almost nobody is using any of it. For example, there's Isopod [1], which is a nice-looking tool to use Starlark with Kubernetes. But it might go the same way as Ksonnet.

Anyone actually using these tools?

[1] https://github.com/cruise-automation/isopod

I worked on this at previous gig - https://github.com/cruise-automation/isopod

Same use-case but uses Starlark dsl instead of jsonnet

If you're willing to relax the "Turing-complete" part, and do a bit of final assembly yourself, you might try https://github.com/stripe/skycfg which uses the Python-like Starlark language.

Cruise built a more complex DSL on top of it: https://github.com/cruise-automation/isopod

Shameless plug - I’ve worked on a dsl tool [0] at my previous gig that addresses these because I was similarly unimpressed with helm

[0] - https://github.com/cruise-automation/isopod

We’ve been using starlark for kubernetes configs at my prev gig and I quite liked it. Open-sourced some of that stuff as https://github.com/cruise-automation/isopod (which is based on https://github.com/stripe/skycfg). I hear stripe are also using their thing with terraform although not sure to which extent.