Replies: 2 comments
-
(No worries, these are relevant questions.) From a language perspective, Jsonnet is a DSL with some fairly unique properties like hermiticiy and modularity, it's also designed with configuration management in mind. Tanka attempts to honour the original design objectives while extending it for Kubernetes related topics (Helm and Kustomize to name a few). Besides Kubernetes, at Grafana Labs we also use Jsonnet for various other things, for example for building dashboards (Grafonnet), writing application configuration (Prometheus, Alertmanager, ...) and setting up CI pipelines (Drone), That said, any language can mangle datastructures into JSON/YAML so it is mostly up to the programmer to apply the proper software development practices along the way. I have not prior experience with cdk8s, so I can't judge how well it works, I assume users of cdk8s will face similar problems as with Jsonnet. |
Beta Was this translation helpful? Give feedback.
-
I wish I could say cdk8s is the best, because from a theoretical point of view using a tool devs are likely already familiar with (python / typescript) is better than having them learn a new language (jsonnet). However, I tried cdk8s out and got a bug right from the get go. Depending on the stability you desire you might want to use a more stable tool for now. |
Beta Was this translation helpful? Give feedback.
-
(I apologize for creating many new discussions in a short time frame, I promise this should be my last one for a little while)
I am just curious to hear some opinions from the community on how tanka + jsonnet compare with cdk8s and what could be some of the pros and cons?
At a quick glance, it seems like cdk8s would allow you to use a language that more programmers are familiar it, with all the nice tooling that comes with it. On the other side, it doesn't seem like cdk8s is used as a distribution mechanism, like jsonnet libraries and projects like kube-prometheus, loki, etc, and jsonnet seems a bit 'closer to the source' as a data templating language, rather than a higher level abstraction. Would love to hear people's thoughts and pros & cons.
Beta Was this translation helpful? Give feedback.
All reactions