6 ms·
Why do you want to stop using helm charts? Genuine question, as I'm new to Kubernetes and helm.
by cheshire_cat 1y ago
Why do you want to stop using helm charts? Genuine question, as I'm new to Kubernetes and helm.
- chuckadams 1y agoWrite a few Helm charts and you'll understand why people want to stop using it. `nindent` will become a curse word in your vocabulary. It's a fine tool at the user level, but the DX is an atrocity.
- bigstrat2003 1y agoI mean, I have written a few (like 5-10?) and I don't understand either. I find that Helm is quite a nice tool which does its job very well.
- cbzbc 1y agoWhat are you planning on moving to ?
- chuckadams 1y agoProbably kustomize, as my needs are simple. If I care to get fancy, I’m pondering giving Yoke a try.
- theteapot 1y agoWhat's wrong with `kubectl apply -f xxx.yaml`?
- physicles 1y agoWe use kustomize because we have four environments that run basically the same stuff (dev with k3s, test, and two cloud regions). If we didn’t use kustomize, we’d be forced to reinvent it to avoid duplicating so much yaml.
- deleted 1y ago[deleted]
- davidham 1y agoI used kustomize to build an ArgoCD install at a previous company, and I was impressed at how powerful it was. Our setup was pretty involved, and kustomize was able to handle all the per-environment differences easily, and the code was easy to work with.
- dpkirchner 1y agoI'm using either opentofu(terraform) or plain yaml. I'm not a huge fan of HCL but at least it is structured and easily manipulated without worrying about whitespace.
- hbogert 1y agoeasily manipulated? How?
- NewJazz 1y agoConsuming one that is well written isn't too much pain, IME. But writing or modifying one can be really annoying. Aiui the values.yaml has no type schema, just vibes. The whole thing is powered off using text templating with yaml (a whitespace sensitive language), which is error prone and often hard to read. That's basically the main issues in a nutshell, it may not sound like much, but helm doesn't exactly do a whole lot and it does that limited set of stuff poorly.
- remram 1y agoI share your dislike of Helm, but FYI there are schemas for values, see for example https://github.com/bitnami/charts/blob/main/bitnami/postgresql/values.schema.json https://github.com/bitnami/charts/blob/main/bitnami/postgres... and docs https://helm.sh/docs/topics/charts/#schema-files https://helm.sh/docs/topics/charts/#schema-files
- NewJazz 1y agoAh, I must have met some lazy charts then. Thanks for the correction. Still, it seems like that schema would end up a little inconvenient to integrate into your editor for writing the templates...
- mdaniel 1y agoOh, yeah, but who can blame them because writing JSON Schema files by hand is some onoz Ironically (in the context of this submission) Bitnami has a "--schema" option to their README generator, which is why so many of their charts ship with .schema.json files: https://github.com/bitnami/readme-generator-for-helm/tree/2.7.2#:~:text=path%20for%20the%20openapi%20schema%20output%20file https://github.com/bitnami/readme-generator-for-helm/tree/2.... There are likely other "give me a schema for this example JSON/YAML file" but almost certainly wouldn't come with the nice {"description":""} blocks, nor the {"required":false} that an annotated .yaml can offer While digging up that link, I also spotted the tag line in their GitHub org which is hilarious https://github.com/bitnami#:~:text=trusted%20by%20ops https://github.com/bitnami#:~:text=trusted%20by%20ops
- 1y ago
- zer00eyz 1y agoI will leave it to others: https://noyaml.com https://noyaml.com
- EdwardDiego 1y agoGolang string templating in a whitespace sensitive config language suuuuucks. I might use Helm charts for initial deploys of operators, but that's about it. Kustomize is, IMO, a better approach if you need to dynamically modify the YAML of your resources and tools like ArgoCD support it.