![]()
Kapitan is an open source configuration management tool for Kubernetes, Terraform, and complex infrastructure systems. It helps teams generate, organize, reuse, and validate configuration across environments using an inventory-driven model, templates (Jsonnet, Jinja2, Kadet), and integrations with Helm, Kustomize, CUE, and external references.
Kapitan provides native secrets management (GPG, AWS KMS, GCP KMS, Azure Key Vault, HashiCorp Vault) and is designed for Platform Engineering and GitOps workflows.
#kapitan on Kubernetes SlackThe fastest way to try Kapitan is with the Kapitan Reference repository:
git clone https://github.com/kapicorp/kapitan-reference.git kapitan-templates
cd kapitan-templates
./kapitan compile
For a minimal project from a cookiecutter template:
pip3 install cruft
cruft create https://github.com/kapicorp/kapitan-reference --checkout cookiecutter --no-input
Kapitan lets you model infrastructure configuration with reusable inventory classes and targets, then compile that data into manifests, scripts, documentation, and Terraform resources. Instead of copying values across Helm values files, Kustomize overlays, and Terraform variables, you define everything once in the Kapitan inventory and let each input type generate the files it needs.
docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan -h
On Linux, add -u $(id -u) to preserve file permissions.
Kapitan requires Python 3.10 or newer.
pip3 install --user --upgrade kapitan
See the full installation guide for platform-specific steps.
Kapitan turns a hierarchical inventory and a set of input templates into compiled configuration files ready for deployment.
kapitan compile.compiled/ directory.Kapitan is actively maintained by KapiCorp and the open source community. Releases are published regularly with release notes. The project uses an MIT license.
We welcome contributions. Please open an issue or pull request to get started.
If you discover a security issue, please open a private security advisory or contact the maintainers directly.
#kapitan Slack channel.$ claude mcp add kapitan \
-- python -m otcore.mcp_server <graph>