Kapitan is a configuration management tool that compiles hierarchical inventory definitions and templates into Kubernetes manifests, Terraform resources, and infrastructure configuration files.
Kapitan solves the problem of managing configuration across multiple environments and tools without duplication. It uses an inventory-driven model where you define reusable classes and per-environment targets in YAML, then write templates using your choice of Jsonnet, Jinja2, Kadet, Helm, Kustomize, CUE, or external commands. The tool compiles these inputs into fully rendered output ready for deployment. It includes native secrets management through GPG, AWS KMS, GCP KMS, Azure Key Vault, and HashiCorp Vault, allowing secrets to be handled within the same configuration workflow rather than as a separate concern.
Kapitan suits teams managing the same application across multiple environments who want a single source of truth and need to reuse configuration fragments without copy-paste. It is particularly valuable when you need to combine multiple templating tools in one pipeline or prefer a compile step that generates fully rendered output before deployment. The tool is designed for Platform Engineering and GitOps workflows where configuration is version-controlled and deployed declaratively.
The project maintains a substantial base of adopters who report issues from real-world use rather than the core team driving the issue tracker. Responses to issues and pull requests typically arrive within one to two weeks. Work in the issue tracker centers on bug fixes, feature requests, and enhancements.