---
title: Helm use-cases
date: '2019-04-29T22:12:03.284Z'
author: Ben Ebsworth
description: >-
  Demonstrating use-cases for Helm and a discussion on the strength and
  weaknesses of templating, in the context of other available tooling within the
  Kubernetes ecosystem
labels: 'technology,kubernetes,developer experience'
keywords: >-
  kustomize,kubernetes,CI/CD,CI,CD,GCP,skaffold,tekton,declarative,platform,templating,yaml,google
  cloud platform,knative,kubectl
release: true
markdown_url: /blog/using-helm/
canonical_url: 'https://benebsworth.com/blog/using-helm/'
---
![kustomize](/blog/using-helm/kustomize.jpg)

Kustomize is a fairly new templating tool that has come out of the efforts by the team at [GoogleCloudPlatform](https://github.com/GoogleCloudPlatform). It seeks to provide a different approach to managing the packaging or contextualisation of a number of Kubernetes resources. Compared to Helm which uses variable substitution and other even more obfuscating ways of constructing resources, such as conditionals and iterations available in the Golang templating tool [Sprig](https://github.com/Masterminds/sprig), Kustomize forces the definition of all required resources and then provides a mechanism of merging, replacing and sourcing resources for the given environment or context.

In terms of complexity I would argue that Kustomize is an intermediate step between using raw Kubernetes resources and going deep into templating via [Helm](https://helm.sh/) or other tools. Where I believe Helm still has a strong use-case when it comes to building more complex abstractions, as well as providing a strong story around sharing and versioning, through its packaging and repository system.
