Laurentiu Ciobanu

Kubernate - Programmatically generate Kubernetes YAMLs

Kubernate is a library that is used to generate Kubernetes YAML files with ease. Think like Helm but with actual code. You have the power to generate anything you want while using any kind of input you want.

Add a comment

Replies

Best
Laurentiu Ciobanu
Hi everyone! Today I want to share with you Kubernate, an open-source tool that I worked on recently and that I've been using for all sorts of DevOps tasks around the office lately. So what is Kubernate? Think of it as a mix between Helm and Pulumi. It is a library that is used to generate Kubernetes YAML files with ease. Think like Helm but with actual code. You have the power to generate anything you want while using any kind of input you want. Everything is evaluated at "build" time and the output is 100% static valid Kubernetes YAML. You also get to leverage the tooling built for Typescript (which is actually very good) while building and DEBUGGING your deployments. You can also publish "libraries" built with Kubernate to NPM and other Kubernate-based projects can use them as building blocks. There is no programming model to speak of :) just write code and use it. In the end, the tool runs the code :) You can even skip this step and just build the Typescript into javascript and run it with Node. You can even make your own app on top of Kubernate to manage your deployments. The library itself is very simple and it is also very fast. It is written in Typescript and it is very easy to use. It is also very easy to learn and understand. Everything is typed! Just follow the IntelliSense. You can join our Discord Community server (https://discord.gg/4mzndma4SN) to get new updates about development and also talk to the contributors for any questions you might have :)
Alexandru Frentescu
Congratulations !
Laurentiu Ciobanu
@alexandru_frentescu1 Thanks you very much!
Ionut Anisia
We have been using this tool internally with great success! Congratulations to @laurci keep up the good work!
Laurentiu Ciobanu
@laurci @ionut_anisia Nice to see you here! Thanks a lot! We did replace Pulumi with Kubernate for our Kubernetes deployments across all the deployment and we are very happy with it :)
Ionut Anisia
@laurci @laurentiu_ciobanu I was fortunate to see an analysis regarding the time we have saved using this tool in our Infrastructure. It just makes things easier to understand and manage!
Alex Cloudstar
Awesome tool! Just started with kubernetes a few time ago, i will definitely include this tool on my belt stack. Thank you!
Laurentiu Ciobanu
@alex_cloudstar Great to hear that! If you have any questions or need any help, join our Community Discord server (https://discord.gg/fXFMqjzmkY) and reach out to the contributors :)
Savian Boroanca
This is a game changer! You open up amazing possibilities. Kudos! πŸ™Œ
Laurentiu Ciobanu
@savian_boroanca Thank you :) Make sure to join our community and tell us what you think about it. https://discord.gg/fXFMqjzmkY
Savian Boroanca
@laurentiu_ciobanu I most certainly will! 😎
Laurentiu Ciobanu
@themisir :)) Thanks for the comment! We don't actually want to re-invent the wheel :) we just want to provide a easy way to interact with Kubernetes YAML from code instead of over complicated templates . This will be the only focus of Kubernate.
Misir Jafarov
Actually the project looks cool. How do you planning to keep the project up to date with k8s standards. Also various operators introduce new k8s kinds like AlgoCD deployment, RabbitMQ cluster, various Prometheus kinds.. Is there a way to support those schemas too?
Rob Works
This is awesome! πŸ™Œ
Laurentiu Ciobanu
@robertgavriles1 Thank you! Glad to know you appreciate it!
Iscu Andrei
Had a chance to actually work with this tool for some time now. I found it to be easy to use even for a beginner in k8s like me (and yeah, used pulumi and helm and had some "fun" moments). Kubernate is great once you fully understand the potential it has! Good luck with the launch!
Laurentiu Ciobanu
@iscu_andrei Thanks a lot! Happy to know that you enjoy it :)
Liviu Năsoi
This is such a cool tool, congrats!
Laurentiu Ciobanu
@liviu_nasoi Glad you like it :) Thank you!
Thomas Kosiewski
How is this any different than cdk8s? https://cdk8s.io/
Laurentiu Ciobanu
@thoma33 I didn't know about cdk8s :) but seems like Kubernate has a lot more features. For example, you can define your own custom resources: https://kubernate.dev/inputs.html, control how the output is generated https://kubernate.dev/output.html, and also doesn't enforce any paradigms (you can sue OOP if you want, but you don't have to if you don't) or programming models. Also, I don't know if cdk8s supports async workflows and if you always need to run your program with their tool or you can just compile it to javascript and run it with node. Thanks for letting me know this exists, will look more into it.
Mirel BiΘ›oi
Congrats on your launch!
Laurentiu Ciobanu
Thank you very much!
Adrian Steriopol
Wow this is great, congrats!
Laurentiu Ciobanu
@adrian14 Thanks a lot! Glad you like it :)
Irina Mryan
Very useful tool! Congrats!
Savian Boroanca
@irina_mryan thank you so much for your support! πŸ™‚
Laurentiu Ciobanu
Thanks a lot!
Anthony Losso
It's a fantastic problem solving solution in which I believe in ! Congrats for the launch
Laurentiu Ciobanu
@tony_ls Thanks a lot! I'm glad you enjoy it :)
Savian Boroanca
@tony_ls Anthony, you are so kind, really appreciate it! 😎
Joao Paulo Santos
OlΓ‘
Laurentiu Ciobanu
@joao_paulo_santos Hi! Welcome to Kubernate. If you want to talk more, you can join our Discord Community: https://discord.gg/fXFMqjzmkY
Andrei Codreanu
Code generation is useful in so many scenarios. Congratulations!
Laurentiu Ciobanu
@andrei_codreanu Indeed, it is :) Thanks a lot!
Aditya Agarwal
Great stuff
Laurentiu Ciobanu
@x3ntech Thank you very much! Glad you like it!
Kris Ledel
Cool
Laurentiu Ciobanu
@k05730 Thanks! Glad to know you like it :)
Mircea Oprea
Congrats! Great job!
Laurentiu Ciobanu
Thank you very much!
Winston Zhao
This is so useful. Thanks!
Laurentiu Ciobanu
@winston_fim Thanks! Glad you enojoy it!