Helm is both "package manager" and "templating engine" - probably the best package manager but horrible template engine

This page summarizes the projects mentioned and recommended in the original post on /r/kubernetes

Our great sponsors
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
  • SonarQube - Static code analysis for 29 languages.
  • cdk8s

    Define Kubernetes native apps and abstractions using object-oriented programming

    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.

  • kube2pulumi

    Upgrade your Kubernetes YAML to a modern language

    Do you mean kube2pulumi (https://github.com/pulumi/kube2pulumi) ? Because it seems very small compared to other solutions.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • helmfile

    Deploy Kubernetes Helm Charts

    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.

  • Pulumi

    Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages 🚀

  • cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

    One promising project - a little rough around the edges but one of their primary design focuses has been templating for k8s: cuelang

  • helm

    The Kubernetes Package Manager

  • devspace-demo

    A demo trialing the basic operation of Devspace

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • 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

  • kapp-controller

    Continuous delivery and package management for Kubernetes.

    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.)

  • helm-x

    Treat any Kustomization or K8s manifests directory as a Helm chart

    TLDR Use cdk8s + helm-x to be able to deploy cdk8s manifests as helm charts, with all the benifits of helm.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts