Is Timoni With CUE a Helm Replacement?

  Рет қаралды 10,639

DevOps Toolkit

DevOps Toolkit

Күн бұрын

Пікірлер: 63
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
Do you think Timoni (and CUE) can replace Helm for your apps?
@tonygilkerson
@tonygilkerson Жыл бұрын
Yes or rather I hope so. As for 3rd party charts I am still motivated to address them as well. I vendor all our 3rd party charts and I have thought about running helm template to make a kustomize or kpt package from the manifests but I am concerned the upgrade and maintenance would be too much but I it is not off the table. If you have any thought about how you might covert a 3rd part app into a Timoni package I would love to hear it. --- great stuff!
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
@tonygilkerson conversion is not a problem. Keeping up with future upgrades is the issue.
@tonygilkerson
@tonygilkerson Жыл бұрын
@@DevOpsToolkit I agree but I already modify the charts and therefor go through a diff-review process each upgrade so I am willing to put in the work, therefore I am interested in knowing how to perform the conversion. I want to convert a Helm chart to a Timoni module that my users can then consume and apply any set of values at deploy time (I don't use my Charts I have "users"). The problem I see is that Helm charts will omit entire sections of manifests or even entire manifests when certain values are "disabled" ... Therefore, how do I convert the helm chart to Timoni module and have that module contain both the enabled and disabled option? The only way I can think to do it is to generate a different module for each permutation, yuck!
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
@tonygilkerson CUE has import command to convert from yaml. I haven't tried it with Timoni but I'm guessing that once you have it a cue it should not be much additional work.
@s1treyrr
@s1treyrr Жыл бұрын
I will check out CUE import from my existing manifests! What’s one more layer 😅
@MikaelFridh
@MikaelFridh Жыл бұрын
Hiding Helm completely behind Grafana Tanka and a small jsonnet wrapper made me stop worrying about Helm. Fully upstream vendored helm chart, allowing custom values to be sent in to the helm generator while still allowing custom overrides in jsonnet gives me all the flexibility I need.
@bryanhunt3099
@bryanhunt3099 8 ай бұрын
Huge tanka / Jsonnet fan, could never understand how helm became the de-facto “standard”
@bryanhunt3099
@bryanhunt3099 8 ай бұрын
Huge tanka / Jsonnet fan, could never understand how helm became the de-facto “standard”
@c_kemper
@c_kemper Жыл бұрын
Last weeks cliff hanger was worth it :) Great overview and summary as usual!
@ytdlgandalf
@ytdlgandalf 4 ай бұрын
To answer the title, i sure hope so. This is such a breath of fresh air
@mhamzarazzaq530
@mhamzarazzaq530 Жыл бұрын
always love your content, great stuff to watch.
@chastriq
@chastriq 7 ай бұрын
CUE is neat, I do like it, but developing non-trivial CUE structures is still a sweet-sour experience. The error message you often get is useless due to how the logical/unification engine works, and so far there's not been any features added to CUE that would make this better.
@phillipsma
@phillipsma 7 ай бұрын
I'm curious if you have heard of KCL and tried it? Would love to see a comparison video, pros and cons etc, with the other yaml template options we have.
@DevOpsToolkit
@DevOpsToolkit 7 ай бұрын
I tried it and I'm using it. It's on my to-do list for a subject of one of the upcoming videos.
@phillipsma
@phillipsma 7 ай бұрын
Awesome ​@@DevOpsToolkit
@DirkJanssen-dpj
@DirkJanssen-dpj Жыл бұрын
great video! helm has a first mover advantage, as you say, but i think it currently benefits more from the network effect: we are all using it because everybody else is using it. for timoni to catch on, it needs to have enough compelling advantages to break through the inertia. you make a good case that it does..
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
For third party apps it stands no change precideñy because of the network effect. First party apps are easier to penetrate.
@dirien
@dirien Жыл бұрын
very good video! I agree, I would like to see more alternatives to helm getting adopted also from third party providers! Timoni and cue looks like the escape hatch we need!
@az6876
@az6876 9 ай бұрын
Thanks, very interesting. But do you know if it's possible to use Timoni directly from Terraform? I have searched online but it seems not possible at the moment.
@DevOpsToolkit
@DevOpsToolkit 9 ай бұрын
Rimini outputs yaml and yaml can be applied with terrsform. Now, if the question is whether you can use terrsform to execute timing that will produce yaml which you can apply with terrsform, the answer is yes, through the exec finction. Still, don't waste time with terrsform for managing kubernetes resources. Use argo CD or flux.
@az6876
@az6876 9 ай бұрын
@@DevOpsToolkit Thank you for the response. By company policy I am required to use Terraform. I admit I am not familiar with Argo and Flux. I will investigate ;)
@cowgod77
@cowgod77 Жыл бұрын
Great video. Timoni looks very promising and I'm definitely going to kick the tires on it. I hate working with Helm. Thanks!
@SimonBoyer-o5j
@SimonBoyer-o5j Жыл бұрын
I think what could drive Timoni adoption for 3rd parties is if it catch the eyes of platform teams in bigger companies. There, they often rewrite helm charts anyway so it matches their specific requirements, why not do it with Timoni instead? And if enough people are doing that, I would expect some Timoni modules to pop up in public repos. It's a big if, but let's be optimist!
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
Here's the idea. Combine Timoni with ChainGuard images.
@surtrootsurtroot3360
@surtrootsurtroot3360 Жыл бұрын
Good tool, but not enough to adopt or even try. Firstly, I agree with your action points, but they require a lot of effort for implementation, and I can assume that it could be the hardest way to move from helm. It will be the same situation as we saw in the IaS war between Pulumi and Terraform. So my assumption is that whoever was first will win.
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
I do tend to agree with that. Helm is bad, in part because it was first so there was nothing to compare it with. However, being first also means that companies invested in it and investments once made are rarely going away unless there are very big pain points that often have to affect business. So yeah, Helm is here to stay but that does not mean that we should not be looking for better alternatives.
@s1treyrr
@s1treyrr Жыл бұрын
It would be awesome if cue and timoni could extend helm charts so that we can make our first party modifications to third party apps and write them in cue.
@dreamcat4
@dreamcat4 Жыл бұрын
You know it's very funny story Victor, that all of those months ago I bring up CUE language, (which not it seems is becoming more towards actual adoption)... so today I see your video and say hey! What's this CUE like again? ... better go check it again. So I ask Google: hey google! "cue vs jsonnet" ? To spit out some frame of reference to compare against... But then the 3rd seach result now is: KCL. With this article: "Faster than Jsonnet, CUE, and HCL, We Made ... - Dev Genius". So there we have it. CUE isn't yet fully adopted by the industry. But is already been given some successor as KCL / Kusion. I have no idea how this industry keeps functioning, other than to do some exodus some moving from AWS to Azure it seems... OK so i am looking forwards to your upcoming video or commentary / analysis on KCL / Kusion! (hopeful for 1 day, that we might eventually get to the final templating language, and stop, that can become some sort of a major part / majority share industry standard).
@cheebadigga4092
@cheebadigga4092 Жыл бұрын
Thanks!! That's awesome!
@kdietz65
@kdietz65 Жыл бұрын
Hmmm. Okay, so as a vendor of one such third-party app, should I stick with Helm due to wide adoption and familiarity, or should I distribute my app using Timoni?
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
As a vendor, you should create helm charts. That's a must and everything else is optional. The reason is simple; adoption.
@manikantareddyp1594
@manikantareddyp1594 Жыл бұрын
Hi can you please do video on "mirrord" an alternative to telepresence
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
That request is quite a coincidence since I'm having it on my short list 🙂
@manikantareddyp1594
@manikantareddyp1594 Жыл бұрын
@@DevOpsToolkit great.. thanks
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
Done :) kzbin.info/www/bejne/gZbahpmBe7Wfg7M
@danielnazareth8707
@danielnazareth8707 Жыл бұрын
as someone using argocd to install and maintain apps, how would argocd deploy a timoni image?
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
I tend to output it to yaml and store it in git repo. I believe that only yaml is readable enough for everyone to understand it. Now, how we get it that yaml is a different story (e.g. helm, Timoni, ytt, cdk8s, etc.).
@kostyazgara3481
@kostyazgara3481 Жыл бұрын
@@DevOpsToolkit So, you are suggesting generating yaml outputs before pushing new manifests to Git? Is it the only way to deploy my application using ArgoCD and Timoni? In my humble opinion tools like Helm or Kustomize are more natively integrated into other tools and in this case, timoni looks very raw to be adopted at this moment. What do you think? Does it worth supporting extra logic just to apply timoni to the project?
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
@kostyazgara3481 i tend to often keep raw yaml no matter how it is generated. Since building images is a part of ci pipelines, pushing yaml should not be a problem (one more command). That being said, Timoni is now supported natively in Fluz and it's only a plugin away from argo CD if raw yaml is not a good option.
@liciomatos
@liciomatos Жыл бұрын
@@DevOpsToolkitbut, in ArgoCD, the helm are only generating the template and applying the manifests individually, right? Using Timoni with ArgoCD should do the same, otherwise, you had to put a action before the ArgoCD to generate the manifests. I don’t like this approach for a IDP. Maybe i am missing something
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
@liciomatos action is necessary since you need to build an image and change argo CD app manifest with a new tag.
@zenobikraweznick
@zenobikraweznick Жыл бұрын
I was like, what ? a CEMENT ? :)
@SiCrip09
@SiCrip09 Жыл бұрын
Is timoni mod push . similar to helm package?
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
It is 🙂
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
Essentially, cue is a replacement for helm templating while Timoni is a replacement for helm commands.
@yrosaguiar
@yrosaguiar Жыл бұрын
you could use kustomize
@pm71241
@pm71241 Жыл бұрын
Tanka
@pm71241
@pm71241 Жыл бұрын
@BananaInCondom It still has it's rough edges, but nothing really structural. And the foundation on jsonnet is elegant and powerful.
@Fabian-_-
@Fabian-_- Жыл бұрын
I use it and I love it, the only thing missing from Jsonnet are maybe types and/or validation. There are some efforts in this direction but these are just POCs unfortunately. Other than that its awesome
@dirien
@dirien Жыл бұрын
uhh! never!
@TomJordan741
@TomJordan741 Жыл бұрын
The next question is if someone has tackled a conversation utility from a Helm Chart to a Timoni package. That would help bootstrap third party app adoption.
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
If you use helm template to convert into yaml, you can convert yaml to cue. That would mean that you'd need to add variables manually. It works, but it's not effortless. Timoni might come up with a more streamlined process.
@TomJordan741
@TomJordan741 Жыл бұрын
@@DevOpsToolkit , that sounds good. One hole in my knowledge is how to convert Helm Hooks. For example, the helm hooks used by the Sentry helm chart. The reason I mentioned the Sentry chart is that I recently was using the helm template to export the Manifests and stopped when I realized that I couldn't apply the generated hook Manifests when I applied the others. I'm going to have to revisit that soon for my own edification.
@DevOpsToolkit
@DevOpsToolkit Жыл бұрын
I'm not using Sentry myself so I'm not sure which hooks it uses. Can you give me an example? I'm asking that because a) Timoni tends to have better order when applying resources and b) GitOps tools like Argo CD tend to have a mechanism how to define sync ordering. Those two are common reasons for using hooks so they might not be needed anymore.
Harmony in Code: How Software Development Mirrors a Symphony Orchestra
17:40
Good teacher wows kids with practical examples #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
Крутой фокус + секрет! #shorts
00:10
Роман Magic
Рет қаралды 40 МЛН
Сюрприз для Златы на день рождения
00:10
Victoria Portfolio
Рет қаралды 1,8 МЛН
小天使和小丑太会演了!#小丑#天使#家庭#搞笑
00:25
家庭搞笑日记
Рет қаралды 57 МЛН
Helm vs. Kustomize: When, Why, and How?
15:42
Ahmed Elfakharany - أحمد الفخراني
Рет қаралды 10 М.
10 Must-Have Kubernetes Tools
18:53
DevOps Toolkit
Рет қаралды 39 М.
Managing KubeVirt VMs with Ansible
11:07
KubeVirt
Рет қаралды 849
How To Secure Everything Without Making Everyone Suffer
27:02
DevOps Toolkit
Рет қаралды 11 М.
Automate local Name Resolution with Terraform // DNS #2
20:56
Christian Lempa
Рет қаралды 58 М.
Should We Run Databases In Kubernetes? CloudNativePG (CNPG) PostgreSQL
19:10
Mastering Kubernetes Testing with Kyverno Chainsaw!
22:07
DevOps Toolkit
Рет қаралды 6 М.
How To Create A Complete Internal Developer Platform (IDP)?
27:01
DevOps Toolkit
Рет қаралды 35 М.
Good teacher wows kids with practical examples #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН