Helm vs Kapitan vs Kustomize

TLDR;

Kapitan (and presumably Ksonnet) is the more flexible and customizable (json and jsonnet)

Kustomize if the more straightforward, just released so we’ll need a bit more documentation on built-in functions (yaml only)

Helm combines a package approach and releases management that is powerful, with the caveats of Tiller for the release management part (additional source of truth)

During the implementation of https://www.weyv.com environments in Kubernetes, we went through various stages. From plain yaml files, to Helm charts releases and finally helm charts but with helm template output. Now with the announcement of Kustomize, I take the opportunity to re-evaluate our choice of tool vs our requirements with 3 contenders: Helm, Kapitan, Kustomize. I left out Ksonnet (https://github.com/ksonnet/ksonnet) it seems very close to Kapitan.