Skip to main content

Generic templated configuration management for Kubernetes, Terraform and other things

Project description

Kapitan: Configuration Management for Kubernetes, Terraform, and Infrastructure

Test, Build and Publish docker image Python Version Downloads Docker Pulls Releases Docker Image Size

Kapitan logo

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.

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

kapitan-0.35.2.dev11.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kapitan-0.35.2.dev11-py3-none-any.whl (150.7 kB view details)

Uploaded Python 3

File details

Details for the file kapitan-0.35.2.dev11.tar.gz.

File metadata

  • Download URL: kapitan-0.35.2.dev11.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

Hashes for kapitan-0.35.2.dev11.tar.gz
Algorithm Hash digest
SHA256 0bca74c709e8dc41e5233f18416547284d85c776d30f7aba4b8a8c3fc8b1c399
MD5 a46cfd98e696d871fab30098a6a59fcc
BLAKE2b-256 37f1de7dcd46871e11a1eadb18126462ade4973fee72dd487b0bcdc22e8433cc

See more details on using hashes here.

File details

Details for the file kapitan-0.35.2.dev11-py3-none-any.whl.

File metadata

  • Download URL: kapitan-0.35.2.dev11-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

Hashes for kapitan-0.35.2.dev11-py3-none-any.whl
Algorithm Hash digest
SHA256 329c35221b1e9fe738a8e86089709b91addca31e2550767a5b65810bc2d0f20d
MD5 94f66537cfebc624d963441b2eb483f2
BLAKE2b-256 b4d333ad38fc3b7bab3f597e300d3fe88dfd31c7dab36bfd2ba31b7906a21c07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page