-
I hate this templating idea and it caused me so my issues in my day-to-day operation. I talk about that with a friend and he suggested me this project: https://github.com/cdk8s-team/cdk8s which can generate the YAMLs from code instead of the horrible templating engine. Their package manager is garbage though, so you probably still need helm to deploy. I probably will research more solutions, but just wanted to say that dont take Helm as the "textbook" solution and use it because everyone else does. Criticize everything, and I hope I had to read this kind of post to see that I am not just making those stuff up, and there are other solutions.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Do you mean kube2pulumi (https://github.com/pulumi/kube2pulumi) ? Because it seems very small compared to other solutions.
-
I always felt like dependencies in helm are for very simple non-coupled packages. I many times use Helmfile (https://github.com/roboll/helmfile) to manage dependencies instead of banging my head with vanilla Helm.
-
-
One promising project - a little rough around the edges but one of their primary design focuses has been templating for k8s: cuelang
-
-
-
ketch
Ketch is an application delivery framework that facilitates the deployment and management of applications on Kubernetes using a simple command line interface
An idea may be to look at something like Ketch, and potentially combine it with Pulumi, TF, or others. Here is an example
-
adeploy
Universal deployment tool for Kubernetes that supports rendering and deployment of lightweight Jinja templated k8s manifests as well as complex Helm charts.
We created adeploy, which is using Jinja Templating to render Manifests out of a set of template files and variables. We added some functions i.e. to set versions, create labels, include files or to handle secret creation using gopass and support to run in CI/CD without re-creating secrets. Source + (some) docs: https://github.com/awesome-it/adeploy
-
We use kapp-controller when applying our charts (it uses helm template instead of helm install) so we can be very rigorous about what fields are changeable (like through pod autoscaling) and what are not (securitycontext, etc.)
-
TLDR Use cdk8s + helm-x to be able to deploy cdk8s manifests as helm charts, with all the benifits of helm.