Kapitan is an open-source configuration management tool for generating the files that describe an environment. Rather than templating one kind of output, it compiles a single hierarchical inventory into many: Kubernetes manifests, Terraform configuration, shell scripts, Dockerfiles, documentation and CI pipeline definitions, all rendered from the same set of parameters. The unit of work is a target — one environment, cluster or tenant — and running kapitan compile produces a fully rendered directory tree per target that is committed to the repository as a reviewable artefact.
The inventory is where the leverage is. Kapitan uses a class-and-target model: classes hold reusable parameter fragments, targets compose those classes, and values merge down the hierarchy with interpolation between them. A change to a shared class propagates to every target that inherits it, and the compiled diff shows exactly what that change did across all of them before anything is applied. On top of that inventory, Kapitan supports several input types — Jinja2 for plain templating, Jsonnet for structured data generation, kadet for defining manifests as Python objects, and a helm input that renders upstream charts with values drawn from the same inventory.
Secrets are handled by reference rather than by embedding. Kapitan refs point at a backend — GPG, Google KMS, AWS KMS, Azure Key Vault, HashiCorp Vault kv or transit, or base64 for non-secret cases — so the repository stores a tag such as a vault reference and the value is only revealed at apply time. Kapitan is a niche tool with a modest community; it suits organisations managing many similar-but-different environments where the sprawl of per-environment values files has become the actual problem.
Why this skill matters now
Every platform team eventually hits the same wall: forty values files that are ninety per cent identical, and no way to see what a shared change does to all of them at once. Helm and Kustomize both address part of that, but both stay inside the Kubernetes manifest world, so the Terraform, the CI pipeline, the on-call runbook and the deployment script drift away from the manifests they describe.
Kapitan takes the other position — that the environment definition is data, and every artefact for that environment should be generated from it. That makes it a good fit for multi-tenant platforms, regulated estates that need a reviewable rendered diff before every change, and organisations running the same stack across many clusters, regions or customers.
It is also worth being clear about scale. Kapitan has a small user base compared with Helm or Kustomize, so hiring for it is rare and the ecosystem is thin. The reason to learn it is that you already use it, or that the config-as-data model solves a sprawl problem the mainstream tools have not solved for you. This training treats both cases directly, including an honest comparison against the alternatives and the conditions under which one of them is the better answer.