top | item 21159155

Isopod: Expressive DSL Framework for Kubernetes Config

36 points| twakefield | 6 years ago |github.com | reply

11 comments

order
[+] bryanlarsen|6 years ago|reply
We switched to jkcfg (https://jkcfg.github.io) for many of these same reasons and are very happy. Text templating on structured data is wrong for many reasons, and kustomize is quite inflexible. "Eww Javascript" but everybody knows it.

jkcfg reduced the amount of configuration code/data in our system by an order of magnitude or so.

[+] dilyevsky|6 years ago|reply
> Text templating on structured data is wrong for many reasons, and kustomize is quite inflexible.

Amen! Was exactly my thinking.

> "Eww Javascript" but everybody knows it.

Well I don’t (at least not well) that’s why starlark was such a good choice - everyone on the team already knows this subset of python fairly well. Also because it has this amazing Go interpreter now it was much easier to integrate with native Kubernetes libraries.

[+] markbaikal|6 years ago|reply
Isopod is notable for allowing the fetching of remote data that can then be used to configure the kubernetes objects. Terraform and pulumi are the only other ones that allow this. Bad about isopod is that the tool does not appear to automatically delete resources in the cluster after they are deleted from the code, and instead, a delete function must be called manually. That is a conceptual weakness compared to terraform and pulumi, and also a weakness compared to `kubectl apply --prune`.
[+] dilyevsky|6 years ago|reply
This is wip. I made some big strides in that direction but wasn’t able to finish it in time.
[+] greatjack|6 years ago|reply
I love this:

A framework to make configs for > A framework that handles devops for > A framework that handles containers (docker) for > A framework of an app

[+] dilyevsky|6 years ago|reply
You stopped too early - there’s another dozen or so frameworks after that.
[+] gnzoidberg|6 years ago|reply
Ew. Isopods are gross. Questionable naming here...
[+] ThatMightBePaul|6 years ago|reply
Your username is 'zoidberg'. Hatin' on your fellow crustaceans, eh?