|
|
|
|
|
by dijit
924 days ago
|
|
I got lazy and just wrote scripts that output k8s manifests. The development story is much better (breakpoints! WHAT!?, loops and control flow!?), you can catch common issues quicker by adding tests, there's one "serialise" step so you don't have to deal with YAML's quirks and you can version/diff your generated manifests. It's dumb, and stupid, but it works and it's far less cognitive load. Now: handling mildly dynamic content outside of those generated manifests... that's a massive pain, releasing a new version of a container and avoiding to touch the generated manifests: not working for me. |
|
But people (including me) were unhappy at yaml reading; I also grew to hate it with a passion because it's neither go nor yaml, and super difficult to read in general. We are a typescript company, and https://cdk8s.io/ has been great for us. We can unit test parts of charts without rendering the whole thing, distribute canonical pod/deployment/service definitions, etc.
In all of the cases, we combined this with config outputted by terraform, for env specific overrides, etc.