This was on my TODO list for a while.
kapitan provides you a solid foundation of managing your entire environments in a monorepo with:
components, inventory, targets, libI'm considering to use kapitan to render helmfile.yaml, so that, for example, you can leverage everything jsonnet provides to reduce duplications in the helmfile.yaml. You can also leverage kapitan's encryption feature to encrypt settings consumed by helmfile.yaml itself.
I also have a vague idea that helmfile integrates transparently with kapitan. Not sure how but would be nice to have.
With this combination, you basically use kapitan to define helmfile, while helmfile defines helm releases and helm release defines k8s resources.
Kaptain mainly seems to be trying to fill in the same space as Helm. I'm not sure why we would want that kind of template complexity.
@sstarcher Thx for the comment!
I just want to investigate both possibilities - growing helmfile itself to be able to cover most use-cases, and allowing integrations w/ more other tools to complement helmfile.
Kapitan does great jobs regarding:
Also, I'm looking forward to use some dependency manager like jsonnet-bundler to distribute reusable parts of your helmfile.
After talking with @AssafKatz3 at https://github.com/roboll/helmfile/issues/96#issuecomment-392306655, I'm now wondering if we eventually ends up with implementing something like kapitan ourselves, or just use kapitan in combination with helmfile in the future :)
Most helpful comment
With this combination, you basically use kapitan to define helmfile, while helmfile defines helm releases and helm release defines k8s resources.