DavidWells/configorama

different from jsonnet?

ghostsquad opened this issue · 7 comments

Honest question: how is this different from jsonnet?

Looking at https://jsonnet.org/ a lot of things are different 😄

For starters this adds variable support to existing config formats (yml, json, toml etc). Anything you can parse into a object (in node) can be used. So it’s a variable system for whatever format you’d want.

Also asynchronous values are allowed. Idk if jsonnet does that or not

How does async work? What's the value add there?

Async values are quite useful for secrets & remote values that may have changed (service discovery)

https://github.com/DavidWells/configorama/tree/master/tests/asyncValues

You can define your own async variable like ${ourSecrets:key} and have that fetch from your remote secret store during configuration resolution

cool. Thanks for the explanations!

Thanks for the questions 😃

Out of curiosity, How’d you find the repo?

From twitter actually! Specifically this thread:

https://twitter.com/DavidWells/status/1172177440703037440

I'm a Kubernetes guy, and I like that K8s uses YAML for it's manifests. YAML is pretty easy to read, easy to write, and there's a lot of tools out there that will output JSON or YAML, so you really can choose whatever language/templating you want while working with Kubernetes manifests.

I somewhat understand that people want something better than YAML/JSON, but I think they missed the point of why Kubernetes team chose it. They chose it because it's the common denominator. Anyways, I'm a big fan of Jsonnet for this exact reason. I'm still pretty curious though about other tools that are coming out, such as this one!