Generic templated configuration management for Kubernetes, Terraform and other things
Project description
Kapitan: Configuration Management for Kubernetes, Terraform, and Infrastructure
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.
- Documentation: https://kapitan.dev
- Community:
#kapitanon Kubernetes Slack - Quick Start: https://kapitan.dev/getting_started/
What is Kapitan?
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.
Install Kapitan
Docker (recommended)
docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan -h
On Linux you can add -u $(id -u) to docker run to preserve file permissions.
Pip
Kapitan needs Python 3.10 or newer.
Install Python 3
- Linux:
sudo apt-get update && sudo apt-get install -y python3-dev python3-pip python3-yaml git - Mac:
brew install python3 libyaml git
Install Kapitan
User ($HOME/.local/lib/python3.x/bin on Linux or $HOME/Library/Python/3.x/bin on macOS):
pip3 install --user --upgrade kapitan
System-wide (not recommended):
sudo pip3 install --upgrade kapitan
Build Kapitan
Docker
To build a docker image for the architecture of your machine, run docker build . -t you-kapitan-image, and to build for a specific platform, add --platform linux/arm64.
To build a multi-platform image (as the CI does), follow the docker multi-platform documentation.
To build a docker image using a specific python version, run docker build --build-arg PYTHON_BUILDER_VERSION=<python-version> . -t you-kapitan-image. By default the Dockerfile is pinned using python 3.11 as the python builder version.
Related projects
- Tesoro - Kubernetes Admission Controller for Kapitan Secrets
- Kapitan Reference - our reference repository to get started with Kapitan
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kapitan-0.35.2.dev10.tar.gz.
File metadata
- Download URL: kapitan-0.35.2.dev10.tar.gz
- Upload date:
- Size: 4.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d48ae8cb3d3eee76f218cf1ab774558e49a07e19596f4889b19b61a6554a850
|
|
| MD5 |
83cc0a5bd0d420323964ecb6331e7857
|
|
| BLAKE2b-256 |
e42807f1d3b788c7e36d1dde6e9191b623f1a524ee8cf6740624b4a305dd8a2d
|
File details
Details for the file kapitan-0.35.2.dev10-py3-none-any.whl.
File metadata
- Download URL: kapitan-0.35.2.dev10-py3-none-any.whl
- Upload date:
- Size: 150.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e3a2e948323be21de94229019badf34fa3c4b9913cd492a916aec179186f71
|
|
| MD5 |
8dd4559a76c3f38283dcff71ade6979c
|
|
| BLAKE2b-256 |
19324ccf8801466e62fc5721efb8ee9f036dd546d480e1657aec916edc7f9917
|